fabric 5.3.0 → 6.0.0-beta3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +11 -0
- package/.babelrcAlt +19 -0
- package/.browserslistrc +5 -0
- package/.eslintignore +3 -0
- package/.eslintrc.js +43 -0
- package/.eslintrc.json +38 -46
- package/.eslintrc_tests +12 -0
- package/.gitattributes +2 -0
- package/.gitpod.yml +17 -1
- package/.prettierignore +19 -0
- package/.prettierrc +4 -0
- package/CHANGELOG.md +532 -189
- package/CONTRIBUTING.md +224 -59
- package/README.md +200 -235
- package/bower.json +1 -3
- package/dist/fabric.d.ts +42 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +27582 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +1 -0
- package/dist/index.mjs +27519 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.node.cjs +27663 -0
- package/dist/index.node.cjs.map +1 -0
- package/dist/index.node.d.ts +14 -0
- package/dist/index.node.mjs +27606 -0
- package/dist/index.node.mjs.map +1 -0
- package/dist/src/ClassRegistry.d.ts +13 -0
- package/dist/src/Collection.d.ts +136 -0
- package/dist/src/CommonMethods.d.ts +32 -0
- package/dist/src/EventTypeDefs.d.ts +227 -0
- package/dist/src/Intersection.d.ts +112 -0
- package/dist/src/Observable.d.ts +60 -0
- package/dist/src/Pattern.d.ts +113 -0
- package/dist/src/Point.d.ts +232 -0
- package/dist/src/Shadow.d.ts +97 -0
- package/dist/src/brushes/BaseBrush.d.ts +105 -0
- package/dist/src/brushes/CircleBrush.d.ts +49 -0
- package/dist/src/brushes/PatternBrush.d.ts +23 -0
- package/dist/src/brushes/PencilBrush.d.ts +92 -0
- package/dist/src/brushes/SprayBrush.d.ts +79 -0
- package/dist/src/cache.d.ts +47 -0
- package/dist/src/canvas/Canvas.d.ts +548 -0
- package/dist/src/canvas/SelectableCanvas.d.ts +754 -0
- package/dist/src/canvas/StaticCanvas.d.ts +778 -0
- package/dist/src/canvas/TextEditingManager.d.ts +17 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts +2 -0
- package/dist/src/color/Color.d.ts +174 -0
- package/dist/src/color/color_map.d.ts +155 -0
- package/dist/src/color/constants.d.ts +22 -0
- package/dist/src/color/util.d.ts +12 -0
- package/dist/src/config.d.ts +115 -0
- package/dist/src/constants.d.ts +14 -0
- package/dist/src/controls/Control.d.ts +228 -0
- package/dist/src/controls/changeWidth.d.ts +13 -0
- package/dist/src/controls/commonControls.d.ts +28 -0
- package/dist/src/controls/controlRendering.d.ts +29 -0
- package/dist/src/controls/drag.d.ts +12 -0
- package/dist/src/controls/index.d.ts +13 -0
- package/dist/src/controls/polyControl.d.ts +5 -0
- package/dist/src/controls/rotate.d.ts +12 -0
- package/dist/src/controls/scale.d.ts +47 -0
- package/dist/src/controls/scaleSkew.d.ts +39 -0
- package/dist/src/controls/skew.d.ts +33 -0
- package/dist/src/controls/util.d.ts +41 -0
- package/dist/src/controls/wrapWithFireEvent.d.ts +8 -0
- package/dist/src/controls/wrapWithFixedAnchor.d.ts +9 -0
- package/dist/src/env/browser.d.ts +3 -0
- package/dist/src/env/index.d.ts +15 -0
- package/dist/src/env/node.d.ts +5 -0
- package/dist/src/env/types.d.ts +15 -0
- package/dist/src/filters/BaseFilter.d.ts +153 -0
- package/dist/src/filters/BlendColor.d.ts +80 -0
- package/dist/src/filters/BlendImage.d.ts +92 -0
- package/dist/src/filters/Blur.d.ts +51 -0
- package/dist/src/filters/Boilerplate.d.ts +48 -0
- package/dist/src/filters/Brightness.d.ts +47 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts +27 -0
- package/dist/src/filters/ColorMatrix.d.ts +63 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts +545 -0
- package/dist/src/filters/Composed.d.ts +45 -0
- package/dist/src/filters/Contrast.d.ts +45 -0
- package/dist/src/filters/Convolute.d.ts +82 -0
- package/dist/src/filters/FilterBackend.d.ts +14 -0
- package/dist/src/filters/GLProbes/GLProbe.d.ts +11 -0
- package/dist/src/filters/GLProbes/NodeGLProbe.d.ts +11 -0
- package/dist/src/filters/GLProbes/WebGLProbe.d.ts +20 -0
- package/dist/src/filters/Gamma.d.ts +54 -0
- package/dist/src/filters/Grayscale.d.ts +46 -0
- package/dist/src/filters/HueRotation.d.ts +24 -0
- package/dist/src/filters/Invert.d.ts +55 -0
- package/dist/src/filters/Noise.d.ts +54 -0
- package/dist/src/filters/Pixelate.d.ts +44 -0
- package/dist/src/filters/RemoveColor.d.ts +63 -0
- package/dist/src/filters/Resize.d.ts +136 -0
- package/dist/src/filters/Saturation.d.ts +48 -0
- package/dist/src/filters/Vibrance.d.ts +48 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts +126 -0
- package/dist/src/filters/filters.d.ts +21 -0
- package/dist/src/filters/index.d.ts +5 -0
- package/dist/src/filters/shaders/baseFilter.d.ts +4 -0
- package/dist/src/filters/shaders/blendColor.d.ts +13 -0
- package/dist/src/filters/shaders/blendImage.d.ts +3 -0
- package/dist/src/filters/shaders/blur.d.ts +2 -0
- package/dist/src/filters/shaders/brightness.d.ts +2 -0
- package/dist/src/filters/shaders/colorMatrix.d.ts +2 -0
- package/dist/src/filters/shaders/constrast.d.ts +2 -0
- package/dist/src/filters/shaders/convolute.d.ts +11 -0
- package/dist/src/filters/shaders/gamma.d.ts +2 -0
- package/dist/src/filters/shaders/grayscale.d.ts +3 -0
- package/dist/src/filters/shaders/invert.d.ts +2 -0
- package/dist/src/filters/shaders/noise.d.ts +2 -0
- package/dist/src/filters/shaders/pixelate.d.ts +2 -0
- package/dist/src/filters/shaders/removeColor.d.ts +2 -0
- package/dist/src/filters/shaders/saturation.d.ts +2 -0
- package/dist/src/filters/shaders/vibrance.d.ts +2 -0
- package/dist/src/filters/typedefs.d.ts +49 -0
- package/dist/src/gradient/Gradient.d.ts +149 -0
- package/dist/src/gradient/constants.d.ts +15 -0
- package/dist/src/gradient/parser/index.d.ts +4 -0
- package/dist/src/gradient/parser/misc.d.ts +4 -0
- package/dist/src/gradient/parser/parseColorStops.d.ts +3 -0
- package/dist/src/gradient/parser/parseCoords.d.ts +17 -0
- package/dist/src/gradient/typedefs.d.ts +93 -0
- package/dist/src/mixins/eraser_brush.mixin.d.ts +2 -0
- package/dist/src/parkinglot/canvas_animation.mixin.d.ts +2 -0
- package/dist/src/parkinglot/straighten.d.ts +2 -0
- package/dist/src/parser/applyViewboxTransform.d.ts +5 -0
- package/dist/src/parser/attributes.d.ts +6 -0
- package/dist/src/parser/constants.d.ts +53 -0
- package/dist/src/parser/doesSomeParentMatch.d.ts +2 -0
- package/dist/src/parser/elementById.d.ts +6 -0
- package/dist/src/parser/elementMatchesRule.d.ts +5 -0
- package/dist/src/parser/elements_parser.d.ts +3 -0
- package/dist/src/parser/getCSSRules.d.ts +7 -0
- package/dist/src/parser/getGlobalStylesForElement.d.ts +5 -0
- package/dist/src/parser/getGradientDefs.d.ts +7 -0
- package/dist/src/parser/getMultipleNodes.d.ts +2 -0
- package/dist/src/parser/getSvgRegex.d.ts +2 -0
- package/dist/src/parser/hasAncestorWithNodeName.d.ts +2 -0
- package/dist/src/parser/index.d.ts +10 -0
- package/dist/src/parser/loadSVGFromString.d.ts +12 -0
- package/dist/src/parser/loadSVGFromURL.d.ts +13 -0
- package/dist/src/parser/normalizeAttr.d.ts +2 -0
- package/dist/src/parser/normalizeValue.d.ts +2 -0
- package/dist/src/parser/parseAttributes.d.ts +9 -0
- package/dist/src/parser/parseElements.d.ts +11 -0
- package/dist/src/parser/parseFontDeclaration.d.ts +10 -0
- package/dist/src/parser/parsePointsAttribute.d.ts +12 -0
- package/dist/src/parser/parseSVGDocument.d.ts +15 -0
- package/dist/src/parser/parseStyleAttribute.d.ts +9 -0
- package/dist/src/parser/parseStyleObject.d.ts +2 -0
- package/dist/src/parser/parseStyleString.d.ts +2 -0
- package/dist/src/parser/parseTransformAttribute.d.ts +10 -0
- package/dist/src/parser/parseUseDirectives.d.ts +2 -0
- package/dist/src/parser/percent.d.ts +9 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +2 -0
- package/dist/src/parser/rotateMatrix.d.ts +2 -0
- package/dist/src/parser/scaleMatrix.d.ts +2 -0
- package/dist/src/parser/selectorMatches.d.ts +2 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts +6 -0
- package/dist/src/parser/skewMatrix.d.ts +2 -0
- package/dist/src/parser/translateMatrix.d.ts +2 -0
- package/dist/src/shapes/ActiveSelection.d.ts +82 -0
- package/dist/src/shapes/Circle.d.ts +99 -0
- package/dist/src/shapes/Ellipse.d.ts +84 -0
- package/dist/src/shapes/Group.d.ts +408 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +78 -0
- package/dist/src/shapes/IText/IText.d.ts +335 -0
- package/dist/src/shapes/IText/ITextBehavior.d.ts +287 -0
- package/dist/src/shapes/IText/ITextClickBehavior.d.ts +83 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +195 -0
- package/dist/src/shapes/IText/constants.d.ts +13 -0
- package/dist/src/shapes/Image.d.ts +311 -0
- package/dist/src/shapes/Line.d.ts +126 -0
- package/dist/src/shapes/Object/AnimatableObject.d.ts +33 -0
- package/dist/src/shapes/Object/FabricObject.d.ts +11 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +74 -0
- package/dist/src/shapes/Object/InteractiveObject.d.ts +296 -0
- package/dist/src/shapes/Object/Object.d.ts +594 -0
- package/dist/src/shapes/Object/ObjectGeometry.d.ts +327 -0
- package/dist/src/shapes/Object/ObjectOrigin.d.ts +109 -0
- package/dist/src/shapes/Object/StackedObject.d.ts +72 -0
- package/dist/src/shapes/Object/defaultValues.d.ts +76 -0
- package/dist/src/shapes/Object/types/BaseProps.d.ts +84 -0
- package/dist/src/shapes/Object/types/BorderProps.d.ts +37 -0
- package/dist/src/shapes/Object/types/ControlProps.d.ts +62 -0
- package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +96 -0
- package/dist/src/shapes/Object/types/FillStrokeProps.d.ts +80 -0
- package/dist/src/shapes/Object/types/LockInteractionProps.d.ts +51 -0
- package/dist/src/shapes/Object/types/ObjectProps.d.ts +42 -0
- package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts +66 -0
- package/dist/src/shapes/Object/types/index.d.ts +6 -0
- package/dist/src/shapes/Path.d.ts +130 -0
- package/dist/src/shapes/Polygon.d.ts +9 -0
- package/dist/src/shapes/Polyline.d.ts +140 -0
- package/dist/src/shapes/Rect.d.ts +76 -0
- package/dist/src/shapes/Text/StyledText.d.ts +119 -0
- package/dist/src/shapes/Text/Text.d.ts +673 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +32 -0
- package/dist/src/shapes/Text/constants.d.ts +7 -0
- package/dist/src/shapes/Textbox.d.ts +185 -0
- package/dist/src/shapes/Triangle.d.ts +25 -0
- package/dist/src/typedefs.d.ts +90 -0
- package/dist/src/util/animation/AnimationBase.d.ts +54 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts +3 -0
- package/dist/src/util/animation/AnimationRegistry.d.ts +29 -0
- package/dist/src/util/animation/ArrayAnimation.d.ts +10 -0
- package/dist/src/util/animation/ColorAnimation.d.ts +11 -0
- package/dist/src/util/animation/ValueAnimation.d.ts +10 -0
- package/dist/src/util/animation/animate.d.ts +37 -0
- package/dist/src/util/animation/easing.d.ts +130 -0
- package/dist/src/util/animation/types.d.ts +87 -0
- package/dist/src/util/applyMixins.d.ts +8 -0
- package/dist/src/util/dom_event.d.ts +5 -0
- package/dist/src/util/dom_misc.d.ts +39 -0
- package/dist/src/util/dom_request.d.ts +14 -0
- package/dist/src/util/dom_style.d.ts +7 -0
- package/dist/src/util/fireEvent.d.ts +3 -0
- package/dist/src/util/index.d.ts +35 -0
- package/dist/src/util/internals/cloneDeep.d.ts +2 -0
- package/dist/src/util/internals/getRandomInt.d.ts +8 -0
- package/dist/src/util/internals/ifNaN.d.ts +8 -0
- package/dist/src/util/internals/index.d.ts +4 -0
- package/dist/src/util/internals/removeFromArray.d.ts +9 -0
- package/dist/src/util/internals/uid.d.ts +2 -0
- package/dist/src/util/lang_string.d.ts +22 -0
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts +9 -0
- package/dist/src/util/misc/capValue.d.ts +2 -0
- package/dist/src/util/misc/cos.d.ts +10 -0
- package/dist/src/util/misc/dom.d.ts +28 -0
- package/dist/src/util/misc/findScaleTo.d.ts +29 -0
- package/dist/src/util/misc/groupSVGElements.d.ts +9 -0
- package/dist/src/util/misc/isTransparent.d.ts +11 -0
- package/dist/src/util/misc/matrix.d.ts +92 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts +23 -0
- package/dist/src/util/misc/objectEnlive.d.ts +56 -0
- package/dist/src/util/misc/objectTransforms.d.ts +68 -0
- package/dist/src/util/misc/pick.d.ts +9 -0
- package/dist/src/util/misc/planeChange.d.ts +84 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +51 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +81 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +25 -0
- package/dist/src/util/misc/projectStroke/index.d.ts +11 -0
- package/dist/src/util/misc/projectStroke/types.d.ts +23 -0
- package/dist/src/util/misc/radiansDegreesConversion.d.ts +14 -0
- package/dist/src/util/misc/resolveOrigin.d.ts +9 -0
- package/dist/src/util/misc/rotatePoint.d.ts +12 -0
- package/dist/src/util/misc/sin.d.ts +10 -0
- package/dist/src/util/misc/svgParsing.d.ts +53 -0
- package/dist/src/util/misc/textStyles.d.ts +32 -0
- package/dist/src/util/misc/toFixed.d.ts +8 -0
- package/dist/src/util/misc/vectors.d.ts +57 -0
- package/dist/src/util/path/index.d.ts +96 -0
- package/dist/src/util/path/regex.d.ts +3 -0
- package/dist/src/util/path/typechecks.d.ts +24 -0
- package/dist/src/util/path/typedefs.d.ts +220 -0
- package/dist/src/util/transform_matrix_removal.d.ts +14 -0
- package/dist/src/util/types.d.ts +19 -0
- package/fabric.ts +51 -0
- package/index.node.ts +37 -0
- package/index.ts +1 -0
- package/package.json +100 -40
- package/publish.js +0 -26
- package/rollup.config.mjs +91 -0
- package/rollup.test.config.js +24 -0
- package/scripts/build.mjs +50 -0
- package/scripts/buildLock.mjs +115 -0
- package/scripts/buildReporter.mjs +15 -0
- package/scripts/buildStats.mjs +139 -0
- package/scripts/dirname.mjs +14 -0
- package/scripts/git.mjs +36 -0
- package/scripts/index.mjs +564 -0
- package/scripts/sandbox.mjs +149 -0
- package/src/ClassRegistry.ts +56 -0
- package/src/Collection.ts +346 -0
- package/src/CommonMethods.ts +63 -0
- package/src/EventTypeDefs.ts +296 -0
- package/src/Intersection.ts +302 -0
- package/src/Observable.ts +181 -0
- package/src/Pattern.ts +227 -0
- package/src/Point.ts +388 -0
- package/src/Shadow.ts +214 -0
- package/src/brushes/{base_brush.class.js → BaseBrush.ts} +65 -42
- package/src/brushes/CircleBrush.ts +145 -0
- package/src/brushes/PatternBrush.ts +70 -0
- package/src/brushes/PencilBrush.ts +300 -0
- package/src/brushes/SprayBrush.ts +219 -0
- package/src/cache.ts +90 -0
- package/src/canvas/Canvas.ts +1607 -0
- package/src/canvas/SelectableCanvas.ts +1608 -0
- package/src/canvas/StaticCanvas.ts +1734 -0
- package/src/canvas/TextEditingManager.ts +48 -0
- package/src/canvas/canvas_gestures.mixin.ts +207 -0
- package/src/color/Color.ts +404 -0
- package/src/color/color_map.ts +154 -0
- package/src/color/constants.ts +26 -0
- package/src/color/util.ts +32 -0
- package/src/config.ts +159 -0
- package/src/constants.ts +20 -0
- package/src/controls/Control.ts +380 -0
- package/src/controls/changeWidth.ts +52 -0
- package/src/controls/commonControls.ts +105 -0
- package/src/controls/controlRendering.ts +138 -0
- package/src/controls/drag.ts +31 -0
- package/src/controls/index.ts +22 -0
- package/src/controls/polyControl.ts +135 -0
- package/src/controls/rotate.ts +87 -0
- package/src/controls/scale.ts +277 -0
- package/src/controls/scaleSkew.ts +92 -0
- package/src/controls/skew.ts +242 -0
- package/src/controls/util.ts +154 -0
- package/src/controls/wrapWithFireEvent.ts +25 -0
- package/src/controls/wrapWithFixedAnchor.ts +20 -0
- package/src/env/browser.ts +32 -0
- package/src/env/index.ts +24 -0
- package/src/env/node.ts +56 -0
- package/src/env/types.ts +15 -0
- package/src/filters/{base_filter.class.js → BaseFilter.ts} +192 -151
- package/src/filters/BlendColor.ts +217 -0
- package/src/filters/BlendImage.ts +228 -0
- package/src/filters/Blur.ts +179 -0
- package/src/filters/Boilerplate.ts +94 -0
- package/src/filters/Brightness.ts +83 -0
- package/src/filters/Canvas2dFilterBackend.ts +65 -0
- package/src/filters/ColorMatrix.ts +145 -0
- package/src/filters/ColorMatrixFilters.ts +77 -0
- package/src/filters/Composed.ts +76 -0
- package/src/filters/Contrast.ts +82 -0
- package/src/filters/Convolute.ts +184 -0
- package/src/filters/FilterBackend.ts +34 -0
- package/src/filters/GLProbes/GLProbe.ts +11 -0
- package/src/filters/GLProbes/NodeGLProbe.ts +15 -0
- package/src/filters/GLProbes/WebGLProbe.ts +46 -0
- package/src/filters/Gamma.ts +110 -0
- package/src/filters/Grayscale.ts +102 -0
- package/src/filters/HueRotation.ts +62 -0
- package/src/filters/Invert.ts +99 -0
- package/src/filters/Noise.ts +94 -0
- package/src/filters/Pixelate.ts +96 -0
- package/src/filters/RemoveColor.ts +135 -0
- package/src/filters/Resize.ts +538 -0
- package/src/filters/Saturation.ts +87 -0
- package/src/filters/Vibrance.ts +88 -0
- package/src/filters/WebGLFilterBackend.ts +430 -0
- package/src/filters/filters.ts +28 -0
- package/src/filters/index.ts +5 -0
- package/src/filters/shaders/baseFilter.ts +19 -0
- package/src/filters/shaders/blendColor.ts +33 -0
- package/src/filters/shaders/blendImage.ts +32 -0
- package/src/filters/shaders/blur.ts +24 -0
- package/src/filters/shaders/brightness.ts +11 -0
- package/src/filters/shaders/colorMatrix.ts +12 -0
- package/src/filters/shaders/constrast.ts +11 -0
- package/src/filters/shaders/convolute.ts +154 -0
- package/src/filters/shaders/gamma.ts +15 -0
- package/src/filters/shaders/grayscale.ts +36 -0
- package/src/filters/shaders/invert.ts +19 -0
- package/src/filters/shaders/noise.ts +16 -0
- package/src/filters/shaders/pixelate.ts +19 -0
- package/src/filters/shaders/removeColor.ts +13 -0
- package/src/filters/shaders/saturation.ts +15 -0
- package/src/filters/shaders/vibrance.ts +16 -0
- package/src/filters/typedefs.ts +65 -0
- package/src/gradient/Gradient.ts +406 -0
- package/src/gradient/constants.ts +12 -0
- package/src/gradient/parser/index.ts +3 -0
- package/src/gradient/parser/misc.ts +13 -0
- package/src/gradient/parser/parseColorStops.ts +56 -0
- package/src/gradient/parser/parseCoords.ts +73 -0
- package/src/gradient/typedefs.ts +104 -0
- package/src/mixins/{eraser_brush.mixin.js → eraser_brush.mixin.ts} +350 -239
- package/src/parkinglot/canvas_animation.mixin.ts +121 -0
- package/src/parkinglot/straighten.ts +58 -0
- package/src/parser/applyViewboxTransform.ts +157 -0
- package/src/parser/attributes.ts +25 -0
- package/src/parser/constants.ts +115 -0
- package/src/parser/doesSomeParentMatch.ts +19 -0
- package/src/parser/elementById.ts +21 -0
- package/src/parser/elementMatchesRule.ts +16 -0
- package/src/parser/elements_parser.ts +191 -0
- package/src/parser/getCSSRules.ts +62 -0
- package/src/parser/getGlobalStylesForElement.ts +19 -0
- package/src/parser/getGradientDefs.ts +31 -0
- package/src/parser/getMultipleNodes.ts +15 -0
- package/src/parser/getSvgRegex.ts +5 -0
- package/src/parser/hasAncestorWithNodeName.ts +14 -0
- package/src/parser/index.ts +9 -0
- package/src/parser/loadSVGFromString.ts +26 -0
- package/src/parser/loadSVGFromURL.ts +40 -0
- package/src/parser/normalizeAttr.ts +10 -0
- package/src/parser/normalizeValue.ts +63 -0
- package/src/parser/parseAttributes.ts +90 -0
- package/src/parser/parseElements.ts +28 -0
- package/src/parser/parseFontDeclaration.ts +44 -0
- package/src/parser/parsePointsAttribute.ts +34 -0
- package/src/parser/parseSVGDocument.ts +93 -0
- package/src/parser/parseStyleAttribute.ts +27 -0
- package/src/parser/parseStyleObject.ts +15 -0
- package/src/parser/parseStyleString.ts +16 -0
- package/src/parser/parseTransformAttribute.ts +155 -0
- package/src/parser/parseUseDirectives.ts +78 -0
- package/src/parser/percent.ts +27 -0
- package/src/parser/recursivelyParseGradientsXlink.ts +42 -0
- package/src/parser/rotateMatrix.ts +21 -0
- package/src/parser/scaleMatrix.ts +9 -0
- package/src/parser/selectorMatches.ts +25 -0
- package/src/parser/setStrokeFillOpacity.ts +40 -0
- package/src/parser/skewMatrix.ts +6 -0
- package/src/parser/translateMatrix.ts +8 -0
- package/src/shapes/ActiveSelection.ts +189 -0
- package/src/shapes/Circle.ts +242 -0
- package/src/shapes/Ellipse.ts +179 -0
- package/src/shapes/Group.ts +1100 -0
- package/src/shapes/IText/DraggableTextDelegate.ts +382 -0
- package/src/shapes/IText/IText.ts +693 -0
- package/src/shapes/IText/ITextBehavior.ts +1064 -0
- package/src/shapes/IText/ITextClickBehavior.ts +325 -0
- package/src/shapes/IText/ITextKeyBehavior.ts +685 -0
- package/src/shapes/IText/constants.ts +47 -0
- package/src/shapes/Image.ts +841 -0
- package/src/shapes/Line.ts +346 -0
- package/src/shapes/Object/AnimatableObject.ts +106 -0
- package/src/shapes/Object/FabricObject.ts +29 -0
- package/src/shapes/Object/FabricObjectSVGExportMixin.ts +277 -0
- package/src/shapes/Object/InteractiveObject.ts +672 -0
- package/src/shapes/Object/Object.ts +1561 -0
- package/src/shapes/Object/ObjectGeometry.ts +813 -0
- package/src/shapes/Object/ObjectOrigin.ts +276 -0
- package/src/shapes/Object/StackedObject.ts +206 -0
- package/src/shapes/Object/defaultValues.ts +108 -0
- package/src/shapes/Object/types/BaseProps.ts +96 -0
- package/src/shapes/Object/types/BorderProps.ts +40 -0
- package/src/shapes/Object/types/ControlProps.ts +69 -0
- package/src/shapes/Object/types/FabricObjectProps.ts +111 -0
- package/src/shapes/Object/types/FillStrokeProps.ts +90 -0
- package/src/shapes/Object/types/LockInteractionProps.ts +57 -0
- package/src/shapes/Object/types/ObjectProps.ts +46 -0
- package/src/shapes/Object/types/SerializedObjectProps.ts +73 -0
- package/src/shapes/Object/types/index.ts +8 -0
- package/src/shapes/Path.ts +416 -0
- package/src/shapes/Polygon.ts +20 -0
- package/src/shapes/Polyline.ts +359 -0
- package/src/shapes/Rect.ts +233 -0
- package/src/shapes/Text/StyledText.ts +329 -0
- package/src/shapes/Text/Text.ts +1884 -0
- package/src/shapes/Text/TextSVGExportMixin.ts +288 -0
- package/src/shapes/Text/constants.ts +91 -0
- package/src/shapes/Textbox.ts +477 -0
- package/src/shapes/Triangle.ts +60 -0
- package/src/typedefs.ts +115 -0
- package/src/util/animation/AnimationBase.ts +166 -0
- package/src/util/animation/AnimationFrameProvider.ts +9 -0
- package/src/util/animation/AnimationRegistry.ts +58 -0
- package/src/util/animation/ArrayAnimation.ts +27 -0
- package/src/util/animation/ColorAnimation.ts +74 -0
- package/src/util/animation/ValueAnimation.ts +29 -0
- package/src/util/animation/animate.ts +74 -0
- package/src/util/animation/easing.ts +327 -0
- package/src/util/animation/types.ts +136 -0
- package/src/util/applyMixins.ts +22 -0
- package/src/util/dom_event.ts +28 -0
- package/src/util/dom_misc.ts +121 -0
- package/src/util/dom_request.ts +64 -0
- package/src/util/dom_style.ts +20 -0
- package/src/util/fireEvent.ts +15 -0
- package/src/util/index.ts +102 -0
- package/src/util/internals/cloneDeep.ts +2 -0
- package/src/util/internals/getRandomInt.ts +8 -0
- package/src/util/internals/ifNaN.ts +9 -0
- package/src/util/internals/index.ts +3 -0
- package/src/util/internals/removeFromArray.ts +14 -0
- package/src/util/internals/uid.ts +3 -0
- package/src/util/lang_string.ts +79 -0
- package/src/util/misc/boundingBoxFromPoints.ts +37 -0
- package/src/util/misc/capValue.ts +2 -0
- package/src/util/misc/cos.ts +24 -0
- package/src/util/misc/dom.ts +50 -0
- package/src/util/misc/findScaleTo.ts +44 -0
- package/src/util/misc/groupSVGElements.ts +15 -0
- package/src/util/misc/isTransparent.ts +28 -0
- package/src/util/misc/matrix.ts +207 -0
- package/src/util/misc/mergeClipPaths.ts +40 -0
- package/src/util/misc/objectEnlive.ts +189 -0
- package/src/util/misc/objectTransforms.ts +129 -0
- package/src/util/misc/pick.ts +29 -0
- package/src/util/misc/planeChange.ts +136 -0
- package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +112 -0
- package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +226 -0
- package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +75 -0
- package/src/util/misc/projectStroke/index.ts +53 -0
- package/src/util/misc/projectStroke/types.ts +24 -0
- package/src/util/misc/radiansDegreesConversion.ts +18 -0
- package/src/util/misc/resolveOrigin.ts +22 -0
- package/src/util/misc/rotatePoint.ts +15 -0
- package/src/util/misc/sin.ts +26 -0
- package/src/util/misc/svgParsing.ts +181 -0
- package/src/util/misc/textStyles.ts +134 -0
- package/src/util/misc/toFixed.ts +8 -0
- package/src/util/misc/vectors.ts +82 -0
- package/src/util/path/index.ts +1038 -0
- package/src/util/path/regex.ts +41 -0
- package/src/util/path/typechecks.ts +145 -0
- package/src/util/path/typedefs.ts +305 -0
- package/src/util/transform_matrix_removal.ts +60 -0
- package/src/util/types.ts +78 -0
- package/tsconfig.json +106 -0
- package/HEADER.js +0 -203
- package/build.js +0 -287
- package/dist/fabric.js +0 -31187
- package/dist/fabric.min.js +0 -1
- package/old-travis-reference.yml +0 -97
- package/src/brushes/circle_brush.class.js +0 -144
- package/src/brushes/pattern_brush.class.js +0 -61
- package/src/brushes/pencil_brush.class.js +0 -310
- package/src/brushes/spray_brush.class.js +0 -219
- package/src/canvas.class.js +0 -1312
- package/src/color.class.js +0 -636
- package/src/control.class.js +0 -339
- package/src/controls.actions.js +0 -740
- package/src/controls.render.js +0 -99
- package/src/elements_parser.js +0 -152
- package/src/filters/2d_backend.class.js +0 -65
- package/src/filters/blendcolor_filter.class.js +0 -251
- package/src/filters/blendimage_filter.class.js +0 -247
- package/src/filters/blur_filter.class.js +0 -217
- package/src/filters/brightness_filter.class.js +0 -113
- package/src/filters/colormatrix_filter.class.js +0 -159
- package/src/filters/composed_filter.class.js +0 -72
- package/src/filters/contrast_filter.class.js +0 -113
- package/src/filters/convolute_filter.class.js +0 -352
- package/src/filters/filter_boilerplate.js +0 -111
- package/src/filters/filter_generator.js +0 -85
- package/src/filters/gamma_filter.class.js +0 -136
- package/src/filters/grayscale_filter.class.js +0 -154
- package/src/filters/hue_rotation.class.js +0 -107
- package/src/filters/invert_filter.class.js +0 -111
- package/src/filters/noise_filter.class.js +0 -134
- package/src/filters/pixelate_filter.class.js +0 -137
- package/src/filters/removecolor_filter.class.js +0 -173
- package/src/filters/resize_filter.class.js +0 -490
- package/src/filters/saturate_filter.class.js +0 -119
- package/src/filters/vibrance_filter.class.js +0 -122
- package/src/filters/webgl_backend.class.js +0 -396
- package/src/globalFabric.js +0 -4
- package/src/gradient.class.js +0 -490
- package/src/intersection.class.js +0 -172
- package/src/log.js +0 -11
- package/src/mixins/animation.mixin.js +0 -231
- package/src/mixins/canvas_dataurl_exporter.mixin.js +0 -97
- package/src/mixins/canvas_events.mixin.js +0 -974
- package/src/mixins/canvas_gestures.mixin.js +0 -149
- package/src/mixins/canvas_grouping.mixin.js +0 -177
- package/src/mixins/canvas_serialization.mixin.js +0 -228
- package/src/mixins/collection.mixin.js +0 -170
- package/src/mixins/default_controls.js +0 -114
- package/src/mixins/itext.svg_export.js +0 -241
- package/src/mixins/itext_behavior.mixin.js +0 -940
- package/src/mixins/itext_click_behavior.mixin.js +0 -278
- package/src/mixins/itext_key_behavior.mixin.js +0 -694
- package/src/mixins/object.svg_export.js +0 -258
- package/src/mixins/object_geometry.mixin.js +0 -683
- package/src/mixins/object_interactivity.mixin.js +0 -314
- package/src/mixins/object_origin.mixin.js +0 -255
- package/src/mixins/object_stacking.mixin.js +0 -80
- package/src/mixins/object_straightening.mixin.js +0 -80
- package/src/mixins/observable.mixin.js +0 -141
- package/src/mixins/shared_methods.mixin.js +0 -94
- package/src/mixins/stateful.mixin.js +0 -107
- package/src/mixins/text_style.mixin.js +0 -324
- package/src/parser.js +0 -1090
- package/src/pattern.class.js +0 -189
- package/src/point.class.js +0 -337
- package/src/shadow.class.js +0 -195
- package/src/shapes/active_selection.class.js +0 -155
- package/src/shapes/circle.class.js +0 -210
- package/src/shapes/ellipse.class.js +0 -181
- package/src/shapes/group.class.js +0 -593
- package/src/shapes/image.class.js +0 -764
- package/src/shapes/itext.class.js +0 -526
- package/src/shapes/line.class.js +0 -324
- package/src/shapes/object.class.js +0 -2008
- package/src/shapes/path.class.js +0 -384
- package/src/shapes/polygon.class.js +0 -81
- package/src/shapes/polyline.class.js +0 -268
- package/src/shapes/rect.class.js +0 -187
- package/src/shapes/text.class.js +0 -1696
- package/src/shapes/textbox.class.js +0 -461
- package/src/shapes/triangle.class.js +0 -93
- package/src/static_canvas.class.js +0 -1881
- package/src/util/anim_ease.js +0 -398
- package/src/util/animate.js +0 -254
- package/src/util/animate_color.js +0 -74
- package/src/util/dom_event.js +0 -50
- package/src/util/dom_misc.js +0 -300
- package/src/util/dom_request.js +0 -54
- package/src/util/dom_style.js +0 -70
- package/src/util/lang_array.js +0 -94
- package/src/util/lang_class.js +0 -115
- package/src/util/lang_object.js +0 -75
- package/src/util/lang_string.js +0 -110
- package/src/util/misc.js +0 -1330
- package/src/util/named_accessors.mixin.js +0 -428
- package/src/util/path.js +0 -829
package/tsconfig.json
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
/* Visit https://aka.ms/tsconfig.json to read more about this file */
|
|
4
|
+
|
|
5
|
+
/* Projects */
|
|
6
|
+
// "incremental": true, /* Enable incremental compilation */
|
|
7
|
+
// "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
|
|
8
|
+
// "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */
|
|
9
|
+
// "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */
|
|
10
|
+
// "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
|
|
11
|
+
// "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
|
|
12
|
+
|
|
13
|
+
/* Language and Environment */
|
|
14
|
+
"target": "ESNext" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
|
|
15
|
+
// "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
|
|
16
|
+
// "jsx": "preserve", /* Specify what JSX code is generated. */
|
|
17
|
+
// "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */
|
|
18
|
+
// "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
|
|
19
|
+
// "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */
|
|
20
|
+
// "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
|
|
21
|
+
// "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */
|
|
22
|
+
// "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */
|
|
23
|
+
// "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
|
|
24
|
+
// "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
|
|
25
|
+
|
|
26
|
+
/* Modules */
|
|
27
|
+
"module": "ESNext" /* Specify what module code is generated. */,
|
|
28
|
+
// "rootDir": "./", /* Specify the root folder within your source files. */
|
|
29
|
+
"moduleResolution": "node" /* Specify how TypeScript looks up a file from a given module specifier. */,
|
|
30
|
+
// "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
|
|
31
|
+
"paths": {
|
|
32
|
+
"fabric": ["./index"],
|
|
33
|
+
"fabric/node": ["./index.node"]
|
|
34
|
+
} /* Specify a set of entries that re-map imports to additional lookup locations. */,
|
|
35
|
+
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
|
|
36
|
+
// "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */
|
|
37
|
+
// "types": [], /* Specify type package names to be included without being referenced in a source file. */
|
|
38
|
+
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
|
|
39
|
+
"resolveJsonModule": true /* Enable importing .json files */,
|
|
40
|
+
// "noResolve": true, /* Disallow `import`s, `require`s or `<reference>`s from expanding the number of files TypeScript should add to a project. */
|
|
41
|
+
|
|
42
|
+
/* JavaScript Support */
|
|
43
|
+
"allowJs": true /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */,
|
|
44
|
+
// "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
|
|
45
|
+
// "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */
|
|
46
|
+
|
|
47
|
+
/* Emit */
|
|
48
|
+
"declaration": true /* Generate .d.ts files from TypeScript and JavaScript files in your project. */,
|
|
49
|
+
"declarationMap": true /* Create sourcemaps for d.ts files. */,
|
|
50
|
+
"emitDeclarationOnly": true /* Only output d.ts files and not JavaScript files. */,
|
|
51
|
+
"sourceMap": true /* Create source map files for emitted JavaScript files. */,
|
|
52
|
+
// "outFile": "", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */
|
|
53
|
+
"outDir": "./dist" /* Specify an output folder for all emitted files. */,
|
|
54
|
+
// "removeComments": true, /* Disable emitting comments. */
|
|
55
|
+
// "noEmit": true, /* Disable emitting files from a compilation. */
|
|
56
|
+
// "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
|
|
57
|
+
// "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */
|
|
58
|
+
// "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
|
|
59
|
+
// "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
|
|
60
|
+
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
|
61
|
+
// "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
|
|
62
|
+
// "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
|
|
63
|
+
// "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
|
|
64
|
+
// "newLine": "crlf", /* Set the newline character for emitting files. */
|
|
65
|
+
// "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */
|
|
66
|
+
// "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */
|
|
67
|
+
"noEmitOnError": false /* Disable emitting files if any type checking errors are reported. */,
|
|
68
|
+
// "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */
|
|
69
|
+
// "declarationDir": "./", /* Specify the output directory for generated declaration files. */
|
|
70
|
+
// "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */
|
|
71
|
+
|
|
72
|
+
/* Interop Constraints */
|
|
73
|
+
// "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
|
|
74
|
+
// "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */
|
|
75
|
+
"esModuleInterop": false /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */,
|
|
76
|
+
// "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
|
|
77
|
+
"forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
|
|
78
|
+
|
|
79
|
+
/* Type Checking */
|
|
80
|
+
"strict": true /* Enable all strict type-checking options. */,
|
|
81
|
+
// "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */
|
|
82
|
+
// "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */
|
|
83
|
+
// "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
|
|
84
|
+
// "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */
|
|
85
|
+
"strictPropertyInitialization": false /* Check for class properties that are declared but not set in the constructor. */,
|
|
86
|
+
// "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */
|
|
87
|
+
// "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */
|
|
88
|
+
// "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
|
|
89
|
+
// "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */
|
|
90
|
+
// "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */
|
|
91
|
+
// "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
|
|
92
|
+
// "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
|
|
93
|
+
// "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
|
|
94
|
+
// "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */
|
|
95
|
+
// "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
|
|
96
|
+
// "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */
|
|
97
|
+
// "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
|
|
98
|
+
// "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
|
|
99
|
+
|
|
100
|
+
/* Completeness */
|
|
101
|
+
// "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
|
|
102
|
+
"skipLibCheck": true /* Skip type checking all .d.ts files. */
|
|
103
|
+
},
|
|
104
|
+
"exclude": ["dist"],
|
|
105
|
+
"include": ["src", "fabric.ts", "index.ts", "index.node.ts"]
|
|
106
|
+
}
|
package/HEADER.js
DELETED
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
/*! Fabric.js Copyright 2008-2015, Printio (Juriy Zaytsev, Maxim Chernyak) */
|
|
2
|
-
|
|
3
|
-
var fabric = fabric || { version: '5.3.0' };
|
|
4
|
-
if (typeof exports !== 'undefined') {
|
|
5
|
-
exports.fabric = fabric;
|
|
6
|
-
}
|
|
7
|
-
/* _AMD_START_ */
|
|
8
|
-
else if (typeof define === 'function' && define.amd) {
|
|
9
|
-
define([], function() { return fabric; });
|
|
10
|
-
}
|
|
11
|
-
/* _AMD_END_ */
|
|
12
|
-
if (typeof document !== 'undefined' && typeof window !== 'undefined') {
|
|
13
|
-
if (document instanceof (typeof HTMLDocument !== 'undefined' ? HTMLDocument : Document)) {
|
|
14
|
-
fabric.document = document;
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
fabric.document = document.implementation.createHTMLDocument('');
|
|
18
|
-
}
|
|
19
|
-
fabric.window = window;
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
// assume we're running under node.js when document/window are not present
|
|
23
|
-
var jsdom = require('jsdom');
|
|
24
|
-
var virtualWindow = new jsdom.JSDOM(
|
|
25
|
-
decodeURIComponent('%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C%2Fhead%3E%3Cbody%3E%3C%2Fbody%3E%3C%2Fhtml%3E'),
|
|
26
|
-
{
|
|
27
|
-
features: {
|
|
28
|
-
FetchExternalResources: ['img']
|
|
29
|
-
},
|
|
30
|
-
resources: 'usable'
|
|
31
|
-
}).window;
|
|
32
|
-
fabric.document = virtualWindow.document;
|
|
33
|
-
fabric.jsdomImplForWrapper = require('jsdom/lib/jsdom/living/generated/utils').implForWrapper;
|
|
34
|
-
fabric.nodeCanvas = require('jsdom/lib/jsdom/utils').Canvas;
|
|
35
|
-
fabric.window = virtualWindow;
|
|
36
|
-
DOMParser = fabric.window.DOMParser;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* True when in environment that supports touch events
|
|
41
|
-
* @type boolean
|
|
42
|
-
*/
|
|
43
|
-
fabric.isTouchSupported = 'ontouchstart' in fabric.window || 'ontouchstart' in fabric.document ||
|
|
44
|
-
(fabric.window && fabric.window.navigator && fabric.window.navigator.maxTouchPoints > 0);
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* True when in environment that's probably Node.js
|
|
48
|
-
* @type boolean
|
|
49
|
-
*/
|
|
50
|
-
fabric.isLikelyNode = typeof Buffer !== 'undefined' &&
|
|
51
|
-
typeof window === 'undefined';
|
|
52
|
-
|
|
53
|
-
/* _FROM_SVG_START_ */
|
|
54
|
-
/**
|
|
55
|
-
* Attributes parsed from all SVG elements
|
|
56
|
-
* @type array
|
|
57
|
-
*/
|
|
58
|
-
fabric.SHARED_ATTRIBUTES = [
|
|
59
|
-
'display',
|
|
60
|
-
'transform',
|
|
61
|
-
'fill', 'fill-opacity', 'fill-rule',
|
|
62
|
-
'opacity',
|
|
63
|
-
'stroke', 'stroke-dasharray', 'stroke-linecap', 'stroke-dashoffset',
|
|
64
|
-
'stroke-linejoin', 'stroke-miterlimit',
|
|
65
|
-
'stroke-opacity', 'stroke-width',
|
|
66
|
-
'id', 'paint-order', 'vector-effect',
|
|
67
|
-
'instantiated_by_use', 'clip-path',
|
|
68
|
-
];
|
|
69
|
-
/* _FROM_SVG_END_ */
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Pixel per Inch as a default value set to 96. Can be changed for more realistic conversion.
|
|
73
|
-
*/
|
|
74
|
-
fabric.DPI = 96;
|
|
75
|
-
fabric.reNum = '(?:[-+]?(?:\\d+|\\d*\\.\\d+)(?:[eE][-+]?\\d+)?)';
|
|
76
|
-
fabric.commaWsp = '(?:\\s+,?\\s*|,\\s*)';
|
|
77
|
-
fabric.rePathCommand = /([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:[eE][-+]?\d+)?)/ig;
|
|
78
|
-
fabric.reNonWord = /[ \n\.,;!\?\-]/;
|
|
79
|
-
fabric.fontPaths = { };
|
|
80
|
-
fabric.iMatrix = [1, 0, 0, 1, 0, 0];
|
|
81
|
-
fabric.svgNS = 'http://www.w3.org/2000/svg';
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Pixel limit for cache canvases. 1Mpx , 4Mpx should be fine.
|
|
85
|
-
* @since 1.7.14
|
|
86
|
-
* @type Number
|
|
87
|
-
* @default
|
|
88
|
-
*/
|
|
89
|
-
fabric.perfLimitSizeTotal = 2097152;
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Pixel limit for cache canvases width or height. IE fixes the maximum at 5000
|
|
93
|
-
* @since 1.7.14
|
|
94
|
-
* @type Number
|
|
95
|
-
* @default
|
|
96
|
-
*/
|
|
97
|
-
fabric.maxCacheSideLimit = 4096;
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Lowest pixel limit for cache canvases, set at 256PX
|
|
101
|
-
* @since 1.7.14
|
|
102
|
-
* @type Number
|
|
103
|
-
* @default
|
|
104
|
-
*/
|
|
105
|
-
fabric.minCacheSideLimit = 256;
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Cache Object for widths of chars in text rendering.
|
|
109
|
-
*/
|
|
110
|
-
fabric.charWidthsCache = { };
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* if webgl is enabled and available, textureSize will determine the size
|
|
114
|
-
* of the canvas backend
|
|
115
|
-
* @since 2.0.0
|
|
116
|
-
* @type Number
|
|
117
|
-
* @default
|
|
118
|
-
*/
|
|
119
|
-
fabric.textureSize = 2048;
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* When 'true', style information is not retained when copy/pasting text, making
|
|
123
|
-
* pasted text use destination style.
|
|
124
|
-
* Defaults to 'false'.
|
|
125
|
-
* @type Boolean
|
|
126
|
-
* @default
|
|
127
|
-
*/
|
|
128
|
-
fabric.disableStyleCopyPaste = false;
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Enable webgl for filtering picture is available
|
|
132
|
-
* A filtering backend will be initialized, this will both take memory and
|
|
133
|
-
* time since a default 2048x2048 canvas will be created for the gl context
|
|
134
|
-
* @since 2.0.0
|
|
135
|
-
* @type Boolean
|
|
136
|
-
* @default
|
|
137
|
-
*/
|
|
138
|
-
fabric.enableGLFiltering = true;
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Device Pixel Ratio
|
|
142
|
-
* @see https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/HTML-canvas-guide/SettingUptheCanvas/SettingUptheCanvas.html
|
|
143
|
-
*/
|
|
144
|
-
fabric.devicePixelRatio = fabric.window.devicePixelRatio ||
|
|
145
|
-
fabric.window.webkitDevicePixelRatio ||
|
|
146
|
-
fabric.window.mozDevicePixelRatio ||
|
|
147
|
-
1;
|
|
148
|
-
/**
|
|
149
|
-
* Browser-specific constant to adjust CanvasRenderingContext2D.shadowBlur value,
|
|
150
|
-
* which is unitless and not rendered equally across browsers.
|
|
151
|
-
*
|
|
152
|
-
* Values that work quite well (as of October 2017) are:
|
|
153
|
-
* - Chrome: 1.5
|
|
154
|
-
* - Edge: 1.75
|
|
155
|
-
* - Firefox: 0.9
|
|
156
|
-
* - Safari: 0.95
|
|
157
|
-
*
|
|
158
|
-
* @since 2.0.0
|
|
159
|
-
* @type Number
|
|
160
|
-
* @default 1
|
|
161
|
-
*/
|
|
162
|
-
fabric.browserShadowBlurConstant = 1;
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* This object contains the result of arc to bezier conversion for faster retrieving if the same arc needs to be converted again.
|
|
166
|
-
* It was an internal variable, is accessible since version 2.3.4
|
|
167
|
-
*/
|
|
168
|
-
fabric.arcToSegmentsCache = { };
|
|
169
|
-
|
|
170
|
-
/**
|
|
171
|
-
* This object keeps the results of the boundsOfCurve calculation mapped by the joined arguments necessary to calculate it.
|
|
172
|
-
* It does speed up calculation, if you parse and add always the same paths, but in case of heavy usage of freedrawing
|
|
173
|
-
* you do not get any speed benefit and you get a big object in memory.
|
|
174
|
-
* The object was a private variable before, while now is appended to the lib so that you have access to it and you
|
|
175
|
-
* can eventually clear it.
|
|
176
|
-
* It was an internal variable, is accessible since version 2.3.4
|
|
177
|
-
*/
|
|
178
|
-
fabric.boundsOfCurveCache = { };
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* If disabled boundsOfCurveCache is not used. For apps that make heavy usage of pencil drawing probably disabling it is better
|
|
182
|
-
* @default true
|
|
183
|
-
*/
|
|
184
|
-
fabric.cachesBoundsOfCurve = true;
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Skip performance testing of setupGLContext and force the use of putImageData that seems to be the one that works best on
|
|
188
|
-
* Chrome + old hardware. if your users are experiencing empty images after filtering you may try to force this to true
|
|
189
|
-
* this has to be set before instantiating the filtering backend ( before filtering the first image )
|
|
190
|
-
* @type Boolean
|
|
191
|
-
* @default false
|
|
192
|
-
*/
|
|
193
|
-
fabric.forceGLPutImageData = false;
|
|
194
|
-
|
|
195
|
-
fabric.initFilterBackend = function() {
|
|
196
|
-
if (fabric.enableGLFiltering && fabric.isWebglSupported && fabric.isWebglSupported(fabric.textureSize)) {
|
|
197
|
-
console.log('max texture size: ' + fabric.maxTextureSize);
|
|
198
|
-
return (new fabric.WebglFilterBackend({ tileSize: fabric.textureSize }));
|
|
199
|
-
}
|
|
200
|
-
else if (fabric.Canvas2dFilterBackend) {
|
|
201
|
-
return (new fabric.Canvas2dFilterBackend());
|
|
202
|
-
}
|
|
203
|
-
};
|
package/build.js
DELETED
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
var fs = require('fs'),
|
|
2
|
-
exec = require('child_process').exec;
|
|
3
|
-
|
|
4
|
-
var buildArgs = process.argv.slice(2),
|
|
5
|
-
buildArgsAsObject = { },
|
|
6
|
-
rootPath = process.cwd();
|
|
7
|
-
|
|
8
|
-
buildArgs.forEach(function(arg) {
|
|
9
|
-
var key = arg.split('=')[0],
|
|
10
|
-
value = arg.split('=')[1];
|
|
11
|
-
|
|
12
|
-
buildArgsAsObject[key] = value;
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
var modulesToInclude = buildArgsAsObject.modules ? buildArgsAsObject.modules.split(',') : [];
|
|
16
|
-
var modulesToExclude = buildArgsAsObject.exclude ? buildArgsAsObject.exclude.split(',') : [];
|
|
17
|
-
|
|
18
|
-
var distributionPath = buildArgsAsObject.dest || 'dist/';
|
|
19
|
-
var minifier = buildArgsAsObject.minifier || 'uglifyjs';
|
|
20
|
-
var mininfierCmd;
|
|
21
|
-
|
|
22
|
-
var noStrict = 'no-strict' in buildArgsAsObject;
|
|
23
|
-
var noSVGExport = 'no-svg-export' in buildArgsAsObject;
|
|
24
|
-
var requirejs = 'requirejs' in buildArgsAsObject ? 'requirejs' : false;
|
|
25
|
-
var sourceMap = 'sourcemap' in buildArgsAsObject;
|
|
26
|
-
var buildFast = 'fast' in buildArgsAsObject;
|
|
27
|
-
// set amdLib var to encourage later support of other AMD systems
|
|
28
|
-
var amdLib = requirejs;
|
|
29
|
-
|
|
30
|
-
// if we want requirejs AMD support, use uglify
|
|
31
|
-
var amdUglifyFlags = '';
|
|
32
|
-
if (amdLib === 'requirejs' && minifier !== 'uglifyjs') {
|
|
33
|
-
console.log('[notice]: require.js support requires uglifyjs as minifier; changed minifier to uglifyjs.');
|
|
34
|
-
minifier = 'uglifyjs';
|
|
35
|
-
amdUglifyFlags = " -r 'require,exports,window,fabric' -e window:window,undefined ";
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// if we want sourceMap support, uglify or google closure compiler are supported
|
|
39
|
-
var sourceMapFlags = '';
|
|
40
|
-
if (sourceMap) {
|
|
41
|
-
if (minifier !== 'uglifyjs' && minifier !== 'closure') {
|
|
42
|
-
console.log('[notice]: sourceMap support requires uglifyjs or google closure compiler as minifier; changed minifier to uglifyjs.');
|
|
43
|
-
minifier = 'uglifyjs';
|
|
44
|
-
}
|
|
45
|
-
sourceMapFlags = minifier === 'uglifyjs' ? ' --source-map fabric.min.js.map' : ' --create_source_map fabric.min.js.map --source_map_format=V3';
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if (minifier === 'yui') {
|
|
49
|
-
mininfierCmd = 'java -jar ' + rootPath + '/lib/yuicompressor-2.4.6.jar fabric.js -o fabric.min.js';
|
|
50
|
-
}
|
|
51
|
-
else if (minifier === 'closure') {
|
|
52
|
-
mininfierCmd = 'java -jar ' + rootPath + '/lib/google_closure_compiler.jar --js fabric.js --js_output_file fabric.min.js' + sourceMapFlags;
|
|
53
|
-
}
|
|
54
|
-
else if (minifier === 'uglifyjs') {
|
|
55
|
-
mininfierCmd = 'uglifyjs ' + amdUglifyFlags + ' --compress --mangle --output fabric.min.js fabric.js' + sourceMapFlags;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
var buildMinified = 'build-minified' in buildArgsAsObject;
|
|
59
|
-
|
|
60
|
-
var includeAllModules = (modulesToInclude.length === 1 && modulesToInclude[0] === 'ALL') || buildMinified;
|
|
61
|
-
|
|
62
|
-
var noSVGImport = (modulesToInclude.indexOf('parser') === -1 && !includeAllModules) || modulesToExclude.indexOf('parser') > -1;
|
|
63
|
-
|
|
64
|
-
var distFileContents =
|
|
65
|
-
'/* build: `node build.js modules=' +
|
|
66
|
-
modulesToInclude.join(',') +
|
|
67
|
-
(modulesToExclude.length ? (' exclude=' + modulesToExclude.join(',')) : '') +
|
|
68
|
-
(noStrict ? ' no-strict' : '') +
|
|
69
|
-
(noSVGExport ? ' no-svg-export' : '') +
|
|
70
|
-
(requirejs ? ' requirejs' : '') +
|
|
71
|
-
(sourceMap ? ' sourcemap' : '') +
|
|
72
|
-
' minifier=' + minifier +
|
|
73
|
-
'` */';
|
|
74
|
-
|
|
75
|
-
function appendFileContents(fileNames, callback) {
|
|
76
|
-
|
|
77
|
-
(function readNextFile() {
|
|
78
|
-
|
|
79
|
-
if (fileNames.length <= 0) {
|
|
80
|
-
return callback();
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
var fileName = fileNames.shift();
|
|
84
|
-
|
|
85
|
-
if (!fileName) {
|
|
86
|
-
return readNextFile();
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
fs.readFile(__dirname + '/' + fileName, function (err, data) {
|
|
90
|
-
if (err) throw err;
|
|
91
|
-
var strData = String(data);
|
|
92
|
-
if (fileName === 'src/HEADER.js' && amdLib === false) {
|
|
93
|
-
strData = strData.replace(/\/\* _AMD_START_ \*\/[\s\S]*?\/\* _AMD_END_ \*\//g, '');
|
|
94
|
-
}
|
|
95
|
-
if (noStrict) {
|
|
96
|
-
strData = strData.replace(/"use strict";?\n?/, '');
|
|
97
|
-
}
|
|
98
|
-
if (noSVGExport) {
|
|
99
|
-
strData = strData.replace(/\/\* _TO_SVG_START_ \*\/[\s\S]*?\/\* _TO_SVG_END_ \*\//g, '');
|
|
100
|
-
}
|
|
101
|
-
if (noSVGImport) {
|
|
102
|
-
strData = strData.replace(/\/\* _FROM_SVG_START_ \*\/[\s\S]*?\/\* _FROM_SVG_END_ \*\//g, '');
|
|
103
|
-
}
|
|
104
|
-
distFileContents += ('\n' + strData + '\n');
|
|
105
|
-
readNextFile();
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
})();
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function ifSpecifiedInclude(moduleName, fileName) {
|
|
112
|
-
var isInIncludedList = modulesToInclude.indexOf(moduleName) > -1;
|
|
113
|
-
var isInExcludedList = modulesToExclude.indexOf(moduleName) > -1;
|
|
114
|
-
|
|
115
|
-
// excluded list takes precedence over modules=ALL
|
|
116
|
-
return ((isInIncludedList || includeAllModules) && !isInExcludedList) ? fileName : '';
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
var filesToInclude = [
|
|
120
|
-
'HEADER.js',
|
|
121
|
-
ifSpecifiedInclude('global', 'src/globalFabric.js'),
|
|
122
|
-
ifSpecifiedInclude('gestures', 'lib/event.js'),
|
|
123
|
-
|
|
124
|
-
'src/mixins/observable.mixin.js',
|
|
125
|
-
'src/mixins/collection.mixin.js',
|
|
126
|
-
'src/mixins/shared_methods.mixin.js',
|
|
127
|
-
'src/util/misc.js',
|
|
128
|
-
ifSpecifiedInclude('accessors', 'src/util/named_accessors.mixin.js'),
|
|
129
|
-
'src/util/path.js',
|
|
130
|
-
'src/util/lang_array.js',
|
|
131
|
-
'src/util/lang_object.js',
|
|
132
|
-
'src/util/lang_string.js',
|
|
133
|
-
'src/util/lang_class.js',
|
|
134
|
-
ifSpecifiedInclude('interaction', 'src/util/dom_event.js'),
|
|
135
|
-
'src/util/dom_style.js',
|
|
136
|
-
'src/util/dom_misc.js',
|
|
137
|
-
'src/util/dom_request.js',
|
|
138
|
-
|
|
139
|
-
'src/log.js',
|
|
140
|
-
|
|
141
|
-
ifSpecifiedInclude('animation', 'src/util/animate.js'),
|
|
142
|
-
ifSpecifiedInclude('animation', 'src/util/animate_color.js'),
|
|
143
|
-
//'src/util/animate.js',
|
|
144
|
-
ifSpecifiedInclude('easing', 'src/util/anim_ease.js'),
|
|
145
|
-
|
|
146
|
-
ifSpecifiedInclude('parser', 'src/parser.js'),
|
|
147
|
-
ifSpecifiedInclude('parser', 'src/elements_parser.js'),
|
|
148
|
-
|
|
149
|
-
'src/point.class.js',
|
|
150
|
-
'src/intersection.class.js',
|
|
151
|
-
'src/color.class.js',
|
|
152
|
-
ifSpecifiedInclude('interaction', 'src/controls.actions.js'),
|
|
153
|
-
ifSpecifiedInclude('interaction', 'src/controls.render.js'),
|
|
154
|
-
ifSpecifiedInclude('interaction', 'src/control.class.js'),
|
|
155
|
-
|
|
156
|
-
ifSpecifiedInclude('gradient', 'src/gradient.class.js'),
|
|
157
|
-
ifSpecifiedInclude('pattern', 'src/pattern.class.js'),
|
|
158
|
-
ifSpecifiedInclude('shadow', 'src/shadow.class.js'),
|
|
159
|
-
|
|
160
|
-
'src/static_canvas.class.js',
|
|
161
|
-
|
|
162
|
-
ifSpecifiedInclude('freedrawing', 'src/brushes/base_brush.class.js'),
|
|
163
|
-
|
|
164
|
-
ifSpecifiedInclude('freedrawing', 'src/brushes/pencil_brush.class.js'),
|
|
165
|
-
ifSpecifiedInclude('freedrawing', 'src/brushes/circle_brush.class.js'),
|
|
166
|
-
ifSpecifiedInclude('freedrawing', 'src/brushes/spray_brush.class.js'),
|
|
167
|
-
ifSpecifiedInclude('freedrawing', 'src/brushes/pattern_brush.class.js'),
|
|
168
|
-
|
|
169
|
-
ifSpecifiedInclude('interaction', 'src/canvas.class.js'),
|
|
170
|
-
ifSpecifiedInclude('interaction', 'src/mixins/canvas_events.mixin.js'),
|
|
171
|
-
ifSpecifiedInclude('interaction', 'src/mixins/canvas_grouping.mixin.js'),
|
|
172
|
-
|
|
173
|
-
'src/mixins/canvas_dataurl_exporter.mixin.js',
|
|
174
|
-
|
|
175
|
-
ifSpecifiedInclude('serialization', 'src/mixins/canvas_serialization.mixin.js'),
|
|
176
|
-
ifSpecifiedInclude('gestures', 'src/mixins/canvas_gestures.mixin.js'),
|
|
177
|
-
|
|
178
|
-
'src/shapes/object.class.js',
|
|
179
|
-
'src/mixins/object_origin.mixin.js',
|
|
180
|
-
'src/mixins/object_geometry.mixin.js',
|
|
181
|
-
'src/mixins/object_stacking.mixin.js',
|
|
182
|
-
'src/mixins/object.svg_export.js',
|
|
183
|
-
'src/mixins/stateful.mixin.js',
|
|
184
|
-
|
|
185
|
-
ifSpecifiedInclude('interaction', 'src/mixins/object_interactivity.mixin.js'),
|
|
186
|
-
|
|
187
|
-
ifSpecifiedInclude('animation', 'src/mixins/animation.mixin.js'),
|
|
188
|
-
|
|
189
|
-
'src/shapes/line.class.js',
|
|
190
|
-
'src/shapes/circle.class.js',
|
|
191
|
-
'src/shapes/triangle.class.js',
|
|
192
|
-
'src/shapes/ellipse.class.js',
|
|
193
|
-
'src/shapes/rect.class.js',
|
|
194
|
-
'src/shapes/polyline.class.js',
|
|
195
|
-
'src/shapes/polygon.class.js',
|
|
196
|
-
'src/shapes/path.class.js',
|
|
197
|
-
'src/shapes/group.class.js',
|
|
198
|
-
ifSpecifiedInclude('interaction', 'src/shapes/active_selection.class.js'),
|
|
199
|
-
'src/shapes/image.class.js',
|
|
200
|
-
|
|
201
|
-
ifSpecifiedInclude('object_straightening', 'src/mixins/object_straightening.mixin.js'),
|
|
202
|
-
ifSpecifiedInclude('image_filters', 'src/filters/webgl_backend.class.js'),
|
|
203
|
-
ifSpecifiedInclude('image_filters', 'src/filters/2d_backend.class.js'),
|
|
204
|
-
ifSpecifiedInclude('image_filters', 'src/filters/base_filter.class.js'),
|
|
205
|
-
ifSpecifiedInclude('image_filters', 'src/filters/colormatrix_filter.class.js'),
|
|
206
|
-
ifSpecifiedInclude('image_filters', 'src/filters/brightness_filter.class.js'),
|
|
207
|
-
ifSpecifiedInclude('image_filters', 'src/filters/convolute_filter.class.js'),
|
|
208
|
-
ifSpecifiedInclude('image_filters', 'src/filters/grayscale_filter.class.js'),
|
|
209
|
-
ifSpecifiedInclude('image_filters', 'src/filters/invert_filter.class.js'),
|
|
210
|
-
ifSpecifiedInclude('image_filters', 'src/filters/noise_filter.class.js'),
|
|
211
|
-
ifSpecifiedInclude('image_filters', 'src/filters/pixelate_filter.class.js'),
|
|
212
|
-
ifSpecifiedInclude('image_filters', 'src/filters/removecolor_filter.class.js'),
|
|
213
|
-
ifSpecifiedInclude('image_filters', 'src/filters/filter_generator.js'),
|
|
214
|
-
ifSpecifiedInclude('image_filters', 'src/filters/blendcolor_filter.class.js'),
|
|
215
|
-
ifSpecifiedInclude('image_filters', 'src/filters/blendimage_filter.class.js'),
|
|
216
|
-
ifSpecifiedInclude('image_filters', 'src/filters/resize_filter.class.js'),
|
|
217
|
-
ifSpecifiedInclude('image_filters', 'src/filters/contrast_filter.class.js'),
|
|
218
|
-
ifSpecifiedInclude('image_filters', 'src/filters/saturate_filter.class.js'),
|
|
219
|
-
ifSpecifiedInclude('image_filters', 'src/filters/vibrance_filter.class.js'),
|
|
220
|
-
ifSpecifiedInclude('image_filters', 'src/filters/blur_filter.class.js'),
|
|
221
|
-
ifSpecifiedInclude('image_filters', 'src/filters/gamma_filter.class.js'),
|
|
222
|
-
ifSpecifiedInclude('image_filters', 'src/filters/composed_filter.class.js'),
|
|
223
|
-
ifSpecifiedInclude('image_filters', 'src/filters/hue_rotation.class.js'),
|
|
224
|
-
|
|
225
|
-
ifSpecifiedInclude('text', 'src/shapes/text.class.js'),
|
|
226
|
-
ifSpecifiedInclude('text', 'src/mixins/text_style.mixin.js'),
|
|
227
|
-
|
|
228
|
-
ifSpecifiedInclude('itext', 'src/shapes/itext.class.js'),
|
|
229
|
-
ifSpecifiedInclude('itext', 'src/mixins/itext_behavior.mixin.js'),
|
|
230
|
-
ifSpecifiedInclude('itext', 'src/mixins/itext_click_behavior.mixin.js'),
|
|
231
|
-
ifSpecifiedInclude('itext', 'src/mixins/itext_key_behavior.mixin.js'),
|
|
232
|
-
ifSpecifiedInclude('itext', 'src/mixins/itext.svg_export.js'),
|
|
233
|
-
|
|
234
|
-
ifSpecifiedInclude('textbox', 'src/shapes/textbox.class.js'),
|
|
235
|
-
ifSpecifiedInclude('interaction', 'src/mixins/default_controls.js'),
|
|
236
|
-
|
|
237
|
-
// extends fabric.StaticCanvas, fabric.Canvas, fabric.Object, depends on fabric.PencilBrush and fabric.Rect
|
|
238
|
-
ifSpecifiedInclude('erasing', 'src/mixins/eraser_brush.mixin.js'),
|
|
239
|
-
];
|
|
240
|
-
|
|
241
|
-
if (buildMinified) {
|
|
242
|
-
for (var i = 0; i < filesToInclude.length; i++) {
|
|
243
|
-
if (!filesToInclude[i]) continue;
|
|
244
|
-
var fileNameWithoutSlashes = filesToInclude[i].replace(/\//g, '^');
|
|
245
|
-
exec('uglifyjs -nc ' + amdUglifyFlags + filesToInclude[i] + ' > tmp/' + fileNameWithoutSlashes);
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
else {
|
|
249
|
-
// change the current working directory
|
|
250
|
-
process.chdir(distributionPath);
|
|
251
|
-
|
|
252
|
-
appendFileContents(filesToInclude, function() {
|
|
253
|
-
fs.writeFile('fabric.js', distFileContents, function (err) {
|
|
254
|
-
if (err) {
|
|
255
|
-
console.log(err);
|
|
256
|
-
throw err;
|
|
257
|
-
}
|
|
258
|
-
if (buildFast) {
|
|
259
|
-
process.exit(0);
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
if (amdLib !== false) {
|
|
263
|
-
console.log('Built distribution to ' + distributionPath + 'fabric.js (' + amdLib + '-compatible)');
|
|
264
|
-
} else {
|
|
265
|
-
console.log('Built distribution to ' + distributionPath + 'fabric.js');
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
exec(mininfierCmd, function (error, output) {
|
|
269
|
-
if (error) {
|
|
270
|
-
console.error('Minification failed using', minifier, 'with', mininfierCmd);
|
|
271
|
-
console.error('Minifier error output:\n' + error);
|
|
272
|
-
process.exit(1);
|
|
273
|
-
}
|
|
274
|
-
console.log('Minified using', minifier, 'to ' + distributionPath + 'fabric.min.js');
|
|
275
|
-
|
|
276
|
-
if (sourceMapFlags) {
|
|
277
|
-
console.log('Built sourceMap to ' + distributionPath + 'fabric.min.js.map');
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
exec('gzip -c fabric.min.js > fabric.min.js.gz', function (error, output) {
|
|
281
|
-
console.log('Gzipped to ' + distributionPath + 'fabric.min.js.gz');
|
|
282
|
-
});
|
|
283
|
-
});
|
|
284
|
-
|
|
285
|
-
});
|
|
286
|
-
});
|
|
287
|
-
}
|