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
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
(function(global) {
|
|
2
|
-
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
var fabric = global.fabric || (global.fabric = { }),
|
|
6
|
-
filters = fabric.Image.filters,
|
|
7
|
-
createClass = fabric.util.createClass;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* MyFilter filter class
|
|
11
|
-
* @class fabric.Image.filters.MyFilter
|
|
12
|
-
* @memberOf fabric.Image.filters
|
|
13
|
-
* @extends fabric.Image.filters.BaseFilter
|
|
14
|
-
* @see {@link fabric.Image.filters.MyFilter#initialize} for constructor definition
|
|
15
|
-
* @see {@link http://fabricjs.com/image-filters|ImageFilters demo}
|
|
16
|
-
* @example
|
|
17
|
-
* var filter = new fabric.Image.filters.MyFilter({
|
|
18
|
-
* add here an example of how to use your filter
|
|
19
|
-
* });
|
|
20
|
-
* object.filters.push(filter);
|
|
21
|
-
* object.applyFilters();
|
|
22
|
-
*/
|
|
23
|
-
filters.MyFilter = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.MyFilter.prototype */ {
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Filter type
|
|
27
|
-
* @param {String} type
|
|
28
|
-
* @default
|
|
29
|
-
*/
|
|
30
|
-
type: 'MyFilter',
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Fragment source for the myParameter program
|
|
34
|
-
*/
|
|
35
|
-
fragmentSource: 'precision highp float;\n' +
|
|
36
|
-
'uniform sampler2D uTexture;\n' +
|
|
37
|
-
'uniform float uMyParameter;\n' +
|
|
38
|
-
'varying vec2 vTexCoord;\n' +
|
|
39
|
-
'void main() {\n' +
|
|
40
|
-
'vec4 color = texture2D(uTexture, vTexCoord);\n' +
|
|
41
|
-
// add your gl code here
|
|
42
|
-
'gl_FragColor = color;\n' +
|
|
43
|
-
'}',
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* MyFilter value, from -1 to 1.
|
|
47
|
-
* translated to -255 to 255 for 2d
|
|
48
|
-
* 0.0039215686 is the part of 1 that get translated to 1 in 2d
|
|
49
|
-
* @param {Number} myParameter
|
|
50
|
-
* @default
|
|
51
|
-
*/
|
|
52
|
-
myParameter: 0,
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Describe the property that is the filter parameter
|
|
56
|
-
* @param {String} m
|
|
57
|
-
* @default
|
|
58
|
-
*/
|
|
59
|
-
mainParameter: 'myParameter',
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Apply the MyFilter operation to a Uint8ClampedArray representing the pixels of an image.
|
|
63
|
-
*
|
|
64
|
-
* @param {Object} options
|
|
65
|
-
* @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.
|
|
66
|
-
*/
|
|
67
|
-
applyTo2d: function(options) {
|
|
68
|
-
if (this.myParameter === 0) {
|
|
69
|
-
// early return if the parameter value has a neutral value
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
var imageData = options.imageData,
|
|
73
|
-
data = imageData.data, i, len = data.length;
|
|
74
|
-
for (i = 0; i < len; i += 4) {
|
|
75
|
-
// insert here your code to modify data[i]
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Return WebGL uniform locations for this filter's shader.
|
|
81
|
-
*
|
|
82
|
-
* @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.
|
|
83
|
-
* @param {WebGLShaderProgram} program This filter's compiled shader program.
|
|
84
|
-
*/
|
|
85
|
-
getUniformLocations: function(gl, program) {
|
|
86
|
-
return {
|
|
87
|
-
uMyParameter: gl.getUniformLocation(program, 'uMyParameter'),
|
|
88
|
-
};
|
|
89
|
-
},
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Send data from this filter to its shader program's uniforms.
|
|
93
|
-
*
|
|
94
|
-
* @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.
|
|
95
|
-
* @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects
|
|
96
|
-
*/
|
|
97
|
-
sendUniformData: function(gl, uniformLocations) {
|
|
98
|
-
gl.uniform1f(uniformLocations.uMyParameter, this.myParameter);
|
|
99
|
-
},
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Returns filter instance from an object representation
|
|
104
|
-
* @static
|
|
105
|
-
* @param {Object} object Object to create an instance from
|
|
106
|
-
* @param {function} [callback] to be invoked after filter creation
|
|
107
|
-
* @return {fabric.Image.filters.MyFilter} Instance of fabric.Image.filters.MyFilter
|
|
108
|
-
*/
|
|
109
|
-
fabric.Image.filters.MyFilter.fromObject = fabric.Image.filters.BaseFilter.fromObject;
|
|
110
|
-
|
|
111
|
-
})(typeof exports !== 'undefined' ? exports : this);
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
(function(global) {
|
|
2
|
-
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
var fabric = global.fabric || (global.fabric = { }),
|
|
6
|
-
filters = fabric.Image.filters,
|
|
7
|
-
createClass = fabric.util.createClass;
|
|
8
|
-
|
|
9
|
-
var matrices = {
|
|
10
|
-
Brownie: [
|
|
11
|
-
0.59970,0.34553,-0.27082,0,0.186,
|
|
12
|
-
-0.03770,0.86095,0.15059,0,-0.1449,
|
|
13
|
-
0.24113,-0.07441,0.44972,0,-0.02965,
|
|
14
|
-
0,0,0,1,0
|
|
15
|
-
],
|
|
16
|
-
Vintage: [
|
|
17
|
-
0.62793,0.32021,-0.03965,0,0.03784,
|
|
18
|
-
0.02578,0.64411,0.03259,0,0.02926,
|
|
19
|
-
0.04660,-0.08512,0.52416,0,0.02023,
|
|
20
|
-
0,0,0,1,0
|
|
21
|
-
],
|
|
22
|
-
Kodachrome: [
|
|
23
|
-
1.12855,-0.39673,-0.03992,0,0.24991,
|
|
24
|
-
-0.16404,1.08352,-0.05498,0,0.09698,
|
|
25
|
-
-0.16786,-0.56034,1.60148,0,0.13972,
|
|
26
|
-
0,0,0,1,0
|
|
27
|
-
],
|
|
28
|
-
Technicolor: [
|
|
29
|
-
1.91252,-0.85453,-0.09155,0,0.04624,
|
|
30
|
-
-0.30878,1.76589,-0.10601,0,-0.27589,
|
|
31
|
-
-0.23110,-0.75018,1.84759,0,0.12137,
|
|
32
|
-
0,0,0,1,0
|
|
33
|
-
],
|
|
34
|
-
Polaroid: [
|
|
35
|
-
1.438,-0.062,-0.062,0,0,
|
|
36
|
-
-0.122,1.378,-0.122,0,0,
|
|
37
|
-
-0.016,-0.016,1.483,0,0,
|
|
38
|
-
0,0,0,1,0
|
|
39
|
-
],
|
|
40
|
-
Sepia: [
|
|
41
|
-
0.393, 0.769, 0.189, 0, 0,
|
|
42
|
-
0.349, 0.686, 0.168, 0, 0,
|
|
43
|
-
0.272, 0.534, 0.131, 0, 0,
|
|
44
|
-
0, 0, 0, 1, 0
|
|
45
|
-
],
|
|
46
|
-
BlackWhite: [
|
|
47
|
-
1.5, 1.5, 1.5, 0, -1,
|
|
48
|
-
1.5, 1.5, 1.5, 0, -1,
|
|
49
|
-
1.5, 1.5, 1.5, 0, -1,
|
|
50
|
-
0, 0, 0, 1, 0,
|
|
51
|
-
]
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
for (var key in matrices) {
|
|
55
|
-
filters[key] = createClass(filters.ColorMatrix, /** @lends fabric.Image.filters.Sepia.prototype */ {
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Filter type
|
|
59
|
-
* @param {String} type
|
|
60
|
-
* @default
|
|
61
|
-
*/
|
|
62
|
-
type: key,
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Colormatrix for the effect
|
|
66
|
-
* array of 20 floats. Numbers in positions 4, 9, 14, 19 loose meaning
|
|
67
|
-
* outside the -1, 1 range.
|
|
68
|
-
* @param {Array} matrix array of 20 numbers.
|
|
69
|
-
* @default
|
|
70
|
-
*/
|
|
71
|
-
matrix: matrices[key],
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Lock the matrix export for this kind of static, parameter less filters.
|
|
75
|
-
*/
|
|
76
|
-
mainParameter: false,
|
|
77
|
-
/**
|
|
78
|
-
* Lock the colormatrix on the color part, skipping alpha
|
|
79
|
-
*/
|
|
80
|
-
colorsOnly: true,
|
|
81
|
-
|
|
82
|
-
});
|
|
83
|
-
fabric.Image.filters[key].fromObject = fabric.Image.filters.BaseFilter.fromObject;
|
|
84
|
-
}
|
|
85
|
-
})(typeof exports !== 'undefined' ? exports : this);
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
(function(global) {
|
|
2
|
-
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
var fabric = global.fabric || (global.fabric = { }),
|
|
6
|
-
filters = fabric.Image.filters,
|
|
7
|
-
createClass = fabric.util.createClass;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Gamma filter class
|
|
11
|
-
* @class fabric.Image.filters.Gamma
|
|
12
|
-
* @memberOf fabric.Image.filters
|
|
13
|
-
* @extends fabric.Image.filters.BaseFilter
|
|
14
|
-
* @see {@link fabric.Image.filters.Gamma#initialize} for constructor definition
|
|
15
|
-
* @see {@link http://fabricjs.com/image-filters|ImageFilters demo}
|
|
16
|
-
* @example
|
|
17
|
-
* var filter = new fabric.Image.filters.Gamma({
|
|
18
|
-
* gamma: [1, 0.5, 2.1]
|
|
19
|
-
* });
|
|
20
|
-
* object.filters.push(filter);
|
|
21
|
-
* object.applyFilters();
|
|
22
|
-
*/
|
|
23
|
-
filters.Gamma = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Gamma.prototype */ {
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Filter type
|
|
27
|
-
* @param {String} type
|
|
28
|
-
* @default
|
|
29
|
-
*/
|
|
30
|
-
type: 'Gamma',
|
|
31
|
-
|
|
32
|
-
fragmentSource: 'precision highp float;\n' +
|
|
33
|
-
'uniform sampler2D uTexture;\n' +
|
|
34
|
-
'uniform vec3 uGamma;\n' +
|
|
35
|
-
'varying vec2 vTexCoord;\n' +
|
|
36
|
-
'void main() {\n' +
|
|
37
|
-
'vec4 color = texture2D(uTexture, vTexCoord);\n' +
|
|
38
|
-
'vec3 correction = (1.0 / uGamma);\n' +
|
|
39
|
-
'color.r = pow(color.r, correction.r);\n' +
|
|
40
|
-
'color.g = pow(color.g, correction.g);\n' +
|
|
41
|
-
'color.b = pow(color.b, correction.b);\n' +
|
|
42
|
-
'gl_FragColor = color;\n' +
|
|
43
|
-
'gl_FragColor.rgb *= color.a;\n' +
|
|
44
|
-
'}',
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Gamma array value, from 0.01 to 2.2.
|
|
48
|
-
* @param {Array} gamma
|
|
49
|
-
* @default
|
|
50
|
-
*/
|
|
51
|
-
gamma: [1, 1, 1],
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Describe the property that is the filter parameter
|
|
55
|
-
* @param {String} m
|
|
56
|
-
* @default
|
|
57
|
-
*/
|
|
58
|
-
mainParameter: 'gamma',
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Constructor
|
|
62
|
-
* @param {Object} [options] Options object
|
|
63
|
-
*/
|
|
64
|
-
initialize: function(options) {
|
|
65
|
-
this.gamma = [1, 1, 1];
|
|
66
|
-
filters.BaseFilter.prototype.initialize.call(this, options);
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Apply the Gamma operation to a Uint8Array representing the pixels of an image.
|
|
71
|
-
*
|
|
72
|
-
* @param {Object} options
|
|
73
|
-
* @param {ImageData} options.imageData The Uint8Array to be filtered.
|
|
74
|
-
*/
|
|
75
|
-
applyTo2d: function(options) {
|
|
76
|
-
var imageData = options.imageData, data = imageData.data,
|
|
77
|
-
gamma = this.gamma, len = data.length,
|
|
78
|
-
rInv = 1 / gamma[0], gInv = 1 / gamma[1],
|
|
79
|
-
bInv = 1 / gamma[2], i;
|
|
80
|
-
|
|
81
|
-
if (!this.rVals) {
|
|
82
|
-
// eslint-disable-next-line
|
|
83
|
-
this.rVals = new Uint8Array(256);
|
|
84
|
-
// eslint-disable-next-line
|
|
85
|
-
this.gVals = new Uint8Array(256);
|
|
86
|
-
// eslint-disable-next-line
|
|
87
|
-
this.bVals = new Uint8Array(256);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// This is an optimization - pre-compute a look-up table for each color channel
|
|
91
|
-
// instead of performing these pow calls for each pixel in the image.
|
|
92
|
-
for (i = 0, len = 256; i < len; i++) {
|
|
93
|
-
this.rVals[i] = Math.pow(i / 255, rInv) * 255;
|
|
94
|
-
this.gVals[i] = Math.pow(i / 255, gInv) * 255;
|
|
95
|
-
this.bVals[i] = Math.pow(i / 255, bInv) * 255;
|
|
96
|
-
}
|
|
97
|
-
for (i = 0, len = data.length; i < len; i += 4) {
|
|
98
|
-
data[i] = this.rVals[data[i]];
|
|
99
|
-
data[i + 1] = this.gVals[data[i + 1]];
|
|
100
|
-
data[i + 2] = this.bVals[data[i + 2]];
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Return WebGL uniform locations for this filter's shader.
|
|
106
|
-
*
|
|
107
|
-
* @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.
|
|
108
|
-
* @param {WebGLShaderProgram} program This filter's compiled shader program.
|
|
109
|
-
*/
|
|
110
|
-
getUniformLocations: function(gl, program) {
|
|
111
|
-
return {
|
|
112
|
-
uGamma: gl.getUniformLocation(program, 'uGamma'),
|
|
113
|
-
};
|
|
114
|
-
},
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Send data from this filter to its shader program's uniforms.
|
|
118
|
-
*
|
|
119
|
-
* @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.
|
|
120
|
-
* @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects
|
|
121
|
-
*/
|
|
122
|
-
sendUniformData: function(gl, uniformLocations) {
|
|
123
|
-
gl.uniform3fv(uniformLocations.uGamma, this.gamma);
|
|
124
|
-
},
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Returns filter instance from an object representation
|
|
129
|
-
* @static
|
|
130
|
-
* @param {Object} object Object to create an instance from
|
|
131
|
-
* @param {function} [callback] to be invoked after filter creation
|
|
132
|
-
* @return {fabric.Image.filters.Gamma} Instance of fabric.Image.filters.Gamma
|
|
133
|
-
*/
|
|
134
|
-
fabric.Image.filters.Gamma.fromObject = fabric.Image.filters.BaseFilter.fromObject;
|
|
135
|
-
|
|
136
|
-
})(typeof exports !== 'undefined' ? exports : this);
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
(function(global) {
|
|
2
|
-
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
var fabric = global.fabric || (global.fabric = { }),
|
|
6
|
-
filters = fabric.Image.filters,
|
|
7
|
-
createClass = fabric.util.createClass;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Grayscale image filter class
|
|
11
|
-
* @class fabric.Image.filters.Grayscale
|
|
12
|
-
* @memberOf fabric.Image.filters
|
|
13
|
-
* @extends fabric.Image.filters.BaseFilter
|
|
14
|
-
* @see {@link http://fabricjs.com/image-filters|ImageFilters demo}
|
|
15
|
-
* @example
|
|
16
|
-
* var filter = new fabric.Image.filters.Grayscale();
|
|
17
|
-
* object.filters.push(filter);
|
|
18
|
-
* object.applyFilters();
|
|
19
|
-
*/
|
|
20
|
-
filters.Grayscale = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Grayscale.prototype */ {
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Filter type
|
|
24
|
-
* @param {String} type
|
|
25
|
-
* @default
|
|
26
|
-
*/
|
|
27
|
-
type: 'Grayscale',
|
|
28
|
-
|
|
29
|
-
fragmentSource: {
|
|
30
|
-
average: 'precision highp float;\n' +
|
|
31
|
-
'uniform sampler2D uTexture;\n' +
|
|
32
|
-
'varying vec2 vTexCoord;\n' +
|
|
33
|
-
'void main() {\n' +
|
|
34
|
-
'vec4 color = texture2D(uTexture, vTexCoord);\n' +
|
|
35
|
-
'float average = (color.r + color.b + color.g) / 3.0;\n' +
|
|
36
|
-
'gl_FragColor = vec4(average, average, average, color.a);\n' +
|
|
37
|
-
'}',
|
|
38
|
-
lightness: 'precision highp float;\n' +
|
|
39
|
-
'uniform sampler2D uTexture;\n' +
|
|
40
|
-
'uniform int uMode;\n' +
|
|
41
|
-
'varying vec2 vTexCoord;\n' +
|
|
42
|
-
'void main() {\n' +
|
|
43
|
-
'vec4 col = texture2D(uTexture, vTexCoord);\n' +
|
|
44
|
-
'float average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\n' +
|
|
45
|
-
'gl_FragColor = vec4(average, average, average, col.a);\n' +
|
|
46
|
-
'}',
|
|
47
|
-
luminosity: 'precision highp float;\n' +
|
|
48
|
-
'uniform sampler2D uTexture;\n' +
|
|
49
|
-
'uniform int uMode;\n' +
|
|
50
|
-
'varying vec2 vTexCoord;\n' +
|
|
51
|
-
'void main() {\n' +
|
|
52
|
-
'vec4 col = texture2D(uTexture, vTexCoord);\n' +
|
|
53
|
-
'float average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\n' +
|
|
54
|
-
'gl_FragColor = vec4(average, average, average, col.a);\n' +
|
|
55
|
-
'}',
|
|
56
|
-
},
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Grayscale mode, between 'average', 'lightness', 'luminosity'
|
|
61
|
-
* @param {String} type
|
|
62
|
-
* @default
|
|
63
|
-
*/
|
|
64
|
-
mode: 'average',
|
|
65
|
-
|
|
66
|
-
mainParameter: 'mode',
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Apply the Grayscale operation to a Uint8Array representing the pixels of an image.
|
|
70
|
-
*
|
|
71
|
-
* @param {Object} options
|
|
72
|
-
* @param {ImageData} options.imageData The Uint8Array to be filtered.
|
|
73
|
-
*/
|
|
74
|
-
applyTo2d: function(options) {
|
|
75
|
-
var imageData = options.imageData,
|
|
76
|
-
data = imageData.data, i,
|
|
77
|
-
len = data.length, value,
|
|
78
|
-
mode = this.mode;
|
|
79
|
-
for (i = 0; i < len; i += 4) {
|
|
80
|
-
if (mode === 'average') {
|
|
81
|
-
value = (data[i] + data[i + 1] + data[i + 2]) / 3;
|
|
82
|
-
}
|
|
83
|
-
else if (mode === 'lightness') {
|
|
84
|
-
value = (Math.min(data[i], data[i + 1], data[i + 2]) +
|
|
85
|
-
Math.max(data[i], data[i + 1], data[i + 2])) / 2;
|
|
86
|
-
}
|
|
87
|
-
else if (mode === 'luminosity') {
|
|
88
|
-
value = 0.21 * data[i] + 0.72 * data[i + 1] + 0.07 * data[i + 2];
|
|
89
|
-
}
|
|
90
|
-
data[i] = value;
|
|
91
|
-
data[i + 1] = value;
|
|
92
|
-
data[i + 2] = value;
|
|
93
|
-
}
|
|
94
|
-
},
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Retrieves the cached shader.
|
|
98
|
-
* @param {Object} options
|
|
99
|
-
* @param {WebGLRenderingContext} options.context The GL context used for rendering.
|
|
100
|
-
* @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.
|
|
101
|
-
*/
|
|
102
|
-
retrieveShader: function(options) {
|
|
103
|
-
var cacheKey = this.type + '_' + this.mode;
|
|
104
|
-
if (!options.programCache.hasOwnProperty(cacheKey)) {
|
|
105
|
-
var shaderSource = this.fragmentSource[this.mode];
|
|
106
|
-
options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);
|
|
107
|
-
}
|
|
108
|
-
return options.programCache[cacheKey];
|
|
109
|
-
},
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Return WebGL uniform locations for this filter's shader.
|
|
113
|
-
*
|
|
114
|
-
* @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.
|
|
115
|
-
* @param {WebGLShaderProgram} program This filter's compiled shader program.
|
|
116
|
-
*/
|
|
117
|
-
getUniformLocations: function(gl, program) {
|
|
118
|
-
return {
|
|
119
|
-
uMode: gl.getUniformLocation(program, 'uMode'),
|
|
120
|
-
};
|
|
121
|
-
},
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Send data from this filter to its shader program's uniforms.
|
|
125
|
-
*
|
|
126
|
-
* @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.
|
|
127
|
-
* @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects
|
|
128
|
-
*/
|
|
129
|
-
sendUniformData: function(gl, uniformLocations) {
|
|
130
|
-
// default average mode.
|
|
131
|
-
var mode = 1;
|
|
132
|
-
gl.uniform1i(uniformLocations.uMode, mode);
|
|
133
|
-
},
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* Grayscale filter isNeutralState implementation
|
|
137
|
-
* The filter is never neutral
|
|
138
|
-
* on the image
|
|
139
|
-
**/
|
|
140
|
-
isNeutralState: function() {
|
|
141
|
-
return false;
|
|
142
|
-
},
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Returns filter instance from an object representation
|
|
147
|
-
* @static
|
|
148
|
-
* @param {Object} object Object to create an instance from
|
|
149
|
-
* @param {function} [callback] to be invoked after filter creation
|
|
150
|
-
* @return {fabric.Image.filters.Grayscale} Instance of fabric.Image.filters.Grayscale
|
|
151
|
-
*/
|
|
152
|
-
fabric.Image.filters.Grayscale.fromObject = fabric.Image.filters.BaseFilter.fromObject;
|
|
153
|
-
|
|
154
|
-
})(typeof exports !== 'undefined' ? exports : this);
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
(function(global) {
|
|
2
|
-
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
var fabric = global.fabric || (global.fabric = { }),
|
|
6
|
-
filters = fabric.Image.filters,
|
|
7
|
-
createClass = fabric.util.createClass;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* HueRotation filter class
|
|
11
|
-
* @class fabric.Image.filters.HueRotation
|
|
12
|
-
* @memberOf fabric.Image.filters
|
|
13
|
-
* @extends fabric.Image.filters.BaseFilter
|
|
14
|
-
* @see {@link fabric.Image.filters.HueRotation#initialize} for constructor definition
|
|
15
|
-
* @see {@link http://fabricjs.com/image-filters|ImageFilters demo}
|
|
16
|
-
* @example
|
|
17
|
-
* var filter = new fabric.Image.filters.HueRotation({
|
|
18
|
-
* rotation: -0.5
|
|
19
|
-
* });
|
|
20
|
-
* object.filters.push(filter);
|
|
21
|
-
* object.applyFilters();
|
|
22
|
-
*/
|
|
23
|
-
filters.HueRotation = createClass(filters.ColorMatrix, /** @lends fabric.Image.filters.HueRotation.prototype */ {
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Filter type
|
|
27
|
-
* @param {String} type
|
|
28
|
-
* @default
|
|
29
|
-
*/
|
|
30
|
-
type: 'HueRotation',
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* HueRotation value, from -1 to 1.
|
|
34
|
-
* the unit is radians
|
|
35
|
-
* @param {Number} myParameter
|
|
36
|
-
* @default
|
|
37
|
-
*/
|
|
38
|
-
rotation: 0,
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Describe the property that is the filter parameter
|
|
42
|
-
* @param {String} m
|
|
43
|
-
* @default
|
|
44
|
-
*/
|
|
45
|
-
mainParameter: 'rotation',
|
|
46
|
-
|
|
47
|
-
calculateMatrix: function() {
|
|
48
|
-
var rad = this.rotation * Math.PI, cos = fabric.util.cos(rad), sin = fabric.util.sin(rad),
|
|
49
|
-
aThird = 1 / 3, aThirdSqtSin = Math.sqrt(aThird) * sin, OneMinusCos = 1 - cos;
|
|
50
|
-
this.matrix = [
|
|
51
|
-
1, 0, 0, 0, 0,
|
|
52
|
-
0, 1, 0, 0, 0,
|
|
53
|
-
0, 0, 1, 0, 0,
|
|
54
|
-
0, 0, 0, 1, 0
|
|
55
|
-
];
|
|
56
|
-
this.matrix[0] = cos + OneMinusCos / 3;
|
|
57
|
-
this.matrix[1] = aThird * OneMinusCos - aThirdSqtSin;
|
|
58
|
-
this.matrix[2] = aThird * OneMinusCos + aThirdSqtSin;
|
|
59
|
-
this.matrix[5] = aThird * OneMinusCos + aThirdSqtSin;
|
|
60
|
-
this.matrix[6] = cos + aThird * OneMinusCos;
|
|
61
|
-
this.matrix[7] = aThird * OneMinusCos - aThirdSqtSin;
|
|
62
|
-
this.matrix[10] = aThird * OneMinusCos - aThirdSqtSin;
|
|
63
|
-
this.matrix[11] = aThird * OneMinusCos + aThirdSqtSin;
|
|
64
|
-
this.matrix[12] = cos + aThird * OneMinusCos;
|
|
65
|
-
},
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* HueRotation isNeutralState implementation
|
|
69
|
-
* Used only in image applyFilters to discard filters that will not have an effect
|
|
70
|
-
* on the image
|
|
71
|
-
* @param {Object} options
|
|
72
|
-
**/
|
|
73
|
-
isNeutralState: function(options) {
|
|
74
|
-
this.calculateMatrix();
|
|
75
|
-
return filters.BaseFilter.prototype.isNeutralState.call(this, options);
|
|
76
|
-
},
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Apply this filter to the input image data provided.
|
|
80
|
-
*
|
|
81
|
-
* Determines whether to use WebGL or Canvas2D based on the options.webgl flag.
|
|
82
|
-
*
|
|
83
|
-
* @param {Object} options
|
|
84
|
-
* @param {Number} options.passes The number of filters remaining to be executed
|
|
85
|
-
* @param {Boolean} options.webgl Whether to use webgl to render the filter.
|
|
86
|
-
* @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.
|
|
87
|
-
* @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.
|
|
88
|
-
* @param {WebGLRenderingContext} options.context The GL context used for rendering.
|
|
89
|
-
* @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.
|
|
90
|
-
*/
|
|
91
|
-
applyTo: function(options) {
|
|
92
|
-
this.calculateMatrix();
|
|
93
|
-
filters.BaseFilter.prototype.applyTo.call(this, options);
|
|
94
|
-
},
|
|
95
|
-
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Returns filter instance from an object representation
|
|
100
|
-
* @static
|
|
101
|
-
* @param {Object} object Object to create an instance from
|
|
102
|
-
* @param {function} [callback] to be invoked after filter creation
|
|
103
|
-
* @return {fabric.Image.filters.HueRotation} Instance of fabric.Image.filters.HueRotation
|
|
104
|
-
*/
|
|
105
|
-
fabric.Image.filters.HueRotation.fromObject = fabric.Image.filters.BaseFilter.fromObject;
|
|
106
|
-
|
|
107
|
-
})(typeof exports !== 'undefined' ? exports : this);
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
(function(global) {
|
|
2
|
-
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
var fabric = global.fabric || (global.fabric = { }),
|
|
6
|
-
filters = fabric.Image.filters,
|
|
7
|
-
createClass = fabric.util.createClass;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Invert filter class
|
|
11
|
-
* @class fabric.Image.filters.Invert
|
|
12
|
-
* @memberOf fabric.Image.filters
|
|
13
|
-
* @extends fabric.Image.filters.BaseFilter
|
|
14
|
-
* @see {@link http://fabricjs.com/image-filters|ImageFilters demo}
|
|
15
|
-
* @example
|
|
16
|
-
* var filter = new fabric.Image.filters.Invert();
|
|
17
|
-
* object.filters.push(filter);
|
|
18
|
-
* object.applyFilters(canvas.renderAll.bind(canvas));
|
|
19
|
-
*/
|
|
20
|
-
filters.Invert = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Invert.prototype */ {
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Filter type
|
|
24
|
-
* @param {String} type
|
|
25
|
-
* @default
|
|
26
|
-
*/
|
|
27
|
-
type: 'Invert',
|
|
28
|
-
|
|
29
|
-
fragmentSource: 'precision highp float;\n' +
|
|
30
|
-
'uniform sampler2D uTexture;\n' +
|
|
31
|
-
'uniform int uInvert;\n' +
|
|
32
|
-
'varying vec2 vTexCoord;\n' +
|
|
33
|
-
'void main() {\n' +
|
|
34
|
-
'vec4 color = texture2D(uTexture, vTexCoord);\n' +
|
|
35
|
-
'if (uInvert == 1) {\n' +
|
|
36
|
-
'gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,color.a);\n' +
|
|
37
|
-
'} else {\n' +
|
|
38
|
-
'gl_FragColor = color;\n' +
|
|
39
|
-
'}\n' +
|
|
40
|
-
'}',
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Filter invert. if false, does nothing
|
|
44
|
-
* @param {Boolean} invert
|
|
45
|
-
* @default
|
|
46
|
-
*/
|
|
47
|
-
invert: true,
|
|
48
|
-
|
|
49
|
-
mainParameter: 'invert',
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Apply the Invert operation to a Uint8Array representing the pixels of an image.
|
|
53
|
-
*
|
|
54
|
-
* @param {Object} options
|
|
55
|
-
* @param {ImageData} options.imageData The Uint8Array to be filtered.
|
|
56
|
-
*/
|
|
57
|
-
applyTo2d: function(options) {
|
|
58
|
-
var imageData = options.imageData,
|
|
59
|
-
data = imageData.data, i,
|
|
60
|
-
len = data.length;
|
|
61
|
-
for (i = 0; i < len; i += 4) {
|
|
62
|
-
data[i] = 255 - data[i];
|
|
63
|
-
data[i + 1] = 255 - data[i + 1];
|
|
64
|
-
data[i + 2] = 255 - data[i + 2];
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Invert filter isNeutralState implementation
|
|
70
|
-
* Used only in image applyFilters to discard filters that will not have an effect
|
|
71
|
-
* on the image
|
|
72
|
-
* @param {Object} options
|
|
73
|
-
**/
|
|
74
|
-
isNeutralState: function() {
|
|
75
|
-
return !this.invert;
|
|
76
|
-
},
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Return WebGL uniform locations for this filter's shader.
|
|
80
|
-
*
|
|
81
|
-
* @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.
|
|
82
|
-
* @param {WebGLShaderProgram} program This filter's compiled shader program.
|
|
83
|
-
*/
|
|
84
|
-
getUniformLocations: function(gl, program) {
|
|
85
|
-
return {
|
|
86
|
-
uInvert: gl.getUniformLocation(program, 'uInvert'),
|
|
87
|
-
};
|
|
88
|
-
},
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Send data from this filter to its shader program's uniforms.
|
|
92
|
-
*
|
|
93
|
-
* @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.
|
|
94
|
-
* @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects
|
|
95
|
-
*/
|
|
96
|
-
sendUniformData: function(gl, uniformLocations) {
|
|
97
|
-
gl.uniform1i(uniformLocations.uInvert, this.invert);
|
|
98
|
-
},
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Returns filter instance from an object representation
|
|
103
|
-
* @static
|
|
104
|
-
* @param {Object} object Object to create an instance from
|
|
105
|
-
* @param {function} [callback] to be invoked after filter creation
|
|
106
|
-
* @return {fabric.Image.filters.Invert} Instance of fabric.Image.filters.Invert
|
|
107
|
-
*/
|
|
108
|
-
fabric.Image.filters.Invert.fromObject = fabric.Image.filters.BaseFilter.fromObject;
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
})(typeof exports !== 'undefined' ? exports : this);
|