@postermywall/fabricjs-2 6.0.0-rc2.0 → 6.0.0
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/CHANGELOG.md +18 -1
- package/dist/index.js +229 -491
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.min.mjs +1 -1
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +229 -491
- package/dist/index.mjs.map +1 -1
- package/dist/index.node.cjs +229 -491
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +229 -491
- package/dist/index.node.mjs.map +1 -1
- package/dist/package.json.min.mjs +1 -1
- package/dist/package.json.mjs +1 -1
- package/dist/src/canvas/Canvas.d.ts.map +1 -1
- package/dist/src/canvas/Canvas.min.mjs +1 -1
- package/dist/src/canvas/Canvas.min.mjs.map +1 -1
- package/dist/src/canvas/Canvas.mjs +8 -9
- package/dist/src/canvas/Canvas.mjs.map +1 -1
- package/dist/src/canvas/SelectableCanvas.d.ts +1 -1
- package/dist/src/canvas/SelectableCanvas.d.ts.map +1 -1
- package/dist/src/canvas/SelectableCanvas.min.mjs +1 -1
- package/dist/src/canvas/SelectableCanvas.min.mjs.map +1 -1
- package/dist/src/canvas/SelectableCanvas.mjs +1 -1
- package/dist/src/canvas/SelectableCanvas.mjs.map +1 -1
- package/dist/src/canvas/StaticCanvas.d.ts +4 -4
- package/dist/src/canvas/StaticCanvas.d.ts.map +1 -1
- package/dist/src/canvas/StaticCanvas.min.mjs +1 -1
- package/dist/src/canvas/StaticCanvas.min.mjs.map +1 -1
- package/dist/src/canvas/StaticCanvas.mjs +0 -13
- package/dist/src/canvas/StaticCanvas.mjs.map +1 -1
- package/dist/src/color/Color.d.ts +1 -0
- package/dist/src/color/Color.d.ts.map +1 -1
- package/dist/src/color/Color.min.mjs +1 -1
- package/dist/src/color/Color.min.mjs.map +1 -1
- package/dist/src/color/Color.mjs +3 -1
- package/dist/src/color/Color.mjs.map +1 -1
- package/dist/src/filters/BaseFilter.d.ts +16 -23
- package/dist/src/filters/BaseFilter.d.ts.map +1 -1
- package/dist/src/filters/BaseFilter.min.mjs +1 -1
- package/dist/src/filters/BaseFilter.min.mjs.map +1 -1
- package/dist/src/filters/BaseFilter.mjs +24 -41
- package/dist/src/filters/BaseFilter.mjs.map +1 -1
- package/dist/src/filters/BlendColor.d.ts +13 -24
- package/dist/src/filters/BlendColor.d.ts.map +1 -1
- package/dist/src/filters/BlendColor.min.mjs +1 -1
- package/dist/src/filters/BlendColor.min.mjs.map +1 -1
- package/dist/src/filters/BlendColor.mjs +1 -25
- package/dist/src/filters/BlendColor.mjs.map +1 -1
- package/dist/src/filters/BlendImage.d.ts +18 -19
- package/dist/src/filters/BlendImage.d.ts.map +1 -1
- package/dist/src/filters/BlendImage.min.mjs +1 -1
- package/dist/src/filters/BlendImage.min.mjs.map +1 -1
- package/dist/src/filters/BlendImage.mjs +13 -24
- package/dist/src/filters/BlendImage.mjs.map +1 -1
- package/dist/src/filters/Blur.d.ts +10 -12
- package/dist/src/filters/Blur.d.ts.map +1 -1
- package/dist/src/filters/Blur.min.mjs +1 -1
- package/dist/src/filters/Blur.min.mjs.map +1 -1
- package/dist/src/filters/Blur.mjs +5 -14
- package/dist/src/filters/Blur.mjs.map +1 -1
- package/dist/src/filters/Boilerplate.d.ts +11 -13
- package/dist/src/filters/Boilerplate.d.ts.map +1 -1
- package/dist/src/filters/Brightness.d.ts +10 -12
- package/dist/src/filters/Brightness.d.ts.map +1 -1
- package/dist/src/filters/Brightness.min.mjs +1 -1
- package/dist/src/filters/Brightness.min.mjs.map +1 -1
- package/dist/src/filters/Brightness.mjs +4 -16
- package/dist/src/filters/Brightness.mjs.map +1 -1
- package/dist/src/filters/Canvas2dFilterBackend.d.ts +1 -1
- package/dist/src/filters/Canvas2dFilterBackend.d.ts.map +1 -1
- package/dist/src/filters/Canvas2dFilterBackend.min.mjs.map +1 -1
- package/dist/src/filters/Canvas2dFilterBackend.mjs.map +1 -1
- package/dist/src/filters/ColorMatrix.d.ts +17 -15
- package/dist/src/filters/ColorMatrix.d.ts.map +1 -1
- package/dist/src/filters/ColorMatrix.min.mjs +1 -1
- package/dist/src/filters/ColorMatrix.min.mjs.map +1 -1
- package/dist/src/filters/ColorMatrix.mjs +7 -27
- package/dist/src/filters/ColorMatrix.mjs.map +1 -1
- package/dist/src/filters/ColorMatrixFilters.d.ts +63 -497
- package/dist/src/filters/ColorMatrixFilters.d.ts.map +1 -1
- package/dist/src/filters/ColorMatrixFilters.min.mjs +1 -1
- package/dist/src/filters/ColorMatrixFilters.min.mjs.map +1 -1
- package/dist/src/filters/ColorMatrixFilters.mjs +13 -8
- package/dist/src/filters/ColorMatrixFilters.mjs.map +1 -1
- package/dist/src/filters/Composed.d.ts +11 -10
- package/dist/src/filters/Composed.d.ts.map +1 -1
- package/dist/src/filters/Composed.min.mjs +1 -1
- package/dist/src/filters/Composed.min.mjs.map +1 -1
- package/dist/src/filters/Composed.mjs +7 -12
- package/dist/src/filters/Composed.mjs.map +1 -1
- package/dist/src/filters/Contrast.d.ts +10 -12
- package/dist/src/filters/Contrast.d.ts.map +1 -1
- package/dist/src/filters/Contrast.min.mjs +1 -1
- package/dist/src/filters/Contrast.min.mjs.map +1 -1
- package/dist/src/filters/Contrast.mjs +6 -17
- package/dist/src/filters/Contrast.mjs.map +1 -1
- package/dist/src/filters/Convolute.d.ts +11 -14
- package/dist/src/filters/Convolute.d.ts.map +1 -1
- package/dist/src/filters/Convolute.min.mjs +1 -1
- package/dist/src/filters/Convolute.min.mjs.map +1 -1
- package/dist/src/filters/Convolute.mjs +1 -15
- package/dist/src/filters/Convolute.mjs.map +1 -1
- package/dist/src/filters/Gamma.d.ts +17 -14
- package/dist/src/filters/Gamma.d.ts.map +1 -1
- package/dist/src/filters/Gamma.min.mjs +1 -1
- package/dist/src/filters/Gamma.min.mjs.map +1 -1
- package/dist/src/filters/Gamma.mjs +20 -24
- package/dist/src/filters/Gamma.mjs.map +1 -1
- package/dist/src/filters/Grayscale.d.ts +8 -11
- package/dist/src/filters/Grayscale.d.ts.map +1 -1
- package/dist/src/filters/Grayscale.min.mjs +1 -1
- package/dist/src/filters/Grayscale.min.mjs.map +1 -1
- package/dist/src/filters/Grayscale.mjs +2 -14
- package/dist/src/filters/Grayscale.mjs.map +1 -1
- package/dist/src/filters/HueRotation.d.ts +11 -5
- package/dist/src/filters/HueRotation.d.ts.map +1 -1
- package/dist/src/filters/HueRotation.min.mjs +1 -1
- package/dist/src/filters/HueRotation.min.mjs.map +1 -1
- package/dist/src/filters/HueRotation.mjs +10 -5
- package/dist/src/filters/HueRotation.mjs.map +1 -1
- package/dist/src/filters/Invert.d.ts +10 -13
- package/dist/src/filters/Invert.d.ts.map +1 -1
- package/dist/src/filters/Invert.min.mjs +1 -1
- package/dist/src/filters/Invert.min.mjs.map +1 -1
- package/dist/src/filters/Invert.mjs +2 -15
- package/dist/src/filters/Invert.mjs.map +1 -1
- package/dist/src/filters/Noise.d.ts +9 -20
- package/dist/src/filters/Noise.d.ts.map +1 -1
- package/dist/src/filters/Noise.min.mjs +1 -1
- package/dist/src/filters/Noise.min.mjs.map +1 -1
- package/dist/src/filters/Noise.mjs +4 -27
- package/dist/src/filters/Noise.mjs.map +1 -1
- package/dist/src/filters/Pixelate.d.ts +8 -12
- package/dist/src/filters/Pixelate.d.ts.map +1 -1
- package/dist/src/filters/Pixelate.min.mjs +1 -1
- package/dist/src/filters/Pixelate.min.mjs.map +1 -1
- package/dist/src/filters/Pixelate.mjs +2 -16
- package/dist/src/filters/Pixelate.mjs.map +1 -1
- package/dist/src/filters/RemoveColor.d.ts +12 -23
- package/dist/src/filters/RemoveColor.d.ts.map +1 -1
- package/dist/src/filters/RemoveColor.min.mjs +1 -1
- package/dist/src/filters/RemoveColor.min.mjs.map +1 -1
- package/dist/src/filters/RemoveColor.mjs +2 -25
- package/dist/src/filters/RemoveColor.mjs.map +1 -1
- package/dist/src/filters/Resize.d.ts +14 -30
- package/dist/src/filters/Resize.d.ts.map +1 -1
- package/dist/src/filters/Resize.min.mjs +1 -1
- package/dist/src/filters/Resize.min.mjs.map +1 -1
- package/dist/src/filters/Resize.mjs +3 -30
- package/dist/src/filters/Resize.mjs.map +1 -1
- package/dist/src/filters/Saturation.d.ts +9 -12
- package/dist/src/filters/Saturation.d.ts.map +1 -1
- package/dist/src/filters/Saturation.min.mjs +1 -1
- package/dist/src/filters/Saturation.min.mjs.map +1 -1
- package/dist/src/filters/Saturation.mjs +8 -20
- package/dist/src/filters/Saturation.mjs.map +1 -1
- package/dist/src/filters/Vibrance.d.ts +10 -13
- package/dist/src/filters/Vibrance.d.ts.map +1 -1
- package/dist/src/filters/Vibrance.min.mjs +1 -1
- package/dist/src/filters/Vibrance.min.mjs.map +1 -1
- package/dist/src/filters/Vibrance.mjs +6 -18
- package/dist/src/filters/Vibrance.mjs.map +1 -1
- package/dist/src/filters/WebGLFilterBackend.d.ts +1 -1
- package/dist/src/filters/WebGLFilterBackend.d.ts.map +1 -1
- package/dist/src/filters/WebGLFilterBackend.min.mjs.map +1 -1
- package/dist/src/filters/WebGLFilterBackend.mjs.map +1 -1
- package/dist/src/filters/shaders/blendImage.d.ts +1 -0
- package/dist/src/filters/shaders/blendImage.d.ts.map +1 -1
- package/dist/src/filters/shaders/blendImage.min.mjs +1 -1
- package/dist/src/filters/shaders/blendImage.min.mjs.map +1 -1
- package/dist/src/filters/shaders/blendImage.mjs +2 -1
- package/dist/src/filters/shaders/blendImage.mjs.map +1 -1
- package/dist/src/filters/typedefs.d.ts +22 -0
- package/dist/src/filters/typedefs.d.ts.map +1 -1
- package/dist/src/parser/elements_parser.d.ts +1 -1
- package/dist/src/parser/elements_parser.d.ts.map +1 -1
- package/dist/src/parser/elements_parser.min.mjs.map +1 -1
- package/dist/src/parser/elements_parser.mjs.map +1 -1
- package/dist/src/shapes/ActiveSelection.d.ts +1 -1
- package/dist/src/shapes/ActiveSelection.d.ts.map +1 -1
- package/dist/src/shapes/ActiveSelection.min.mjs +1 -1
- package/dist/src/shapes/ActiveSelection.min.mjs.map +1 -1
- package/dist/src/shapes/ActiveSelection.mjs +13 -10
- package/dist/src/shapes/ActiveSelection.mjs.map +1 -1
- package/dist/src/shapes/Group.d.ts +9 -0
- package/dist/src/shapes/Group.d.ts.map +1 -1
- package/dist/src/shapes/Group.min.mjs +1 -1
- package/dist/src/shapes/Group.min.mjs.map +1 -1
- package/dist/src/shapes/Group.mjs +10 -1
- package/dist/src/shapes/Group.mjs.map +1 -1
- package/dist/src/shapes/Image.d.ts +4 -4
- package/dist/src/shapes/Image.d.ts.map +1 -1
- package/dist/src/shapes/Image.min.mjs.map +1 -1
- package/dist/src/shapes/Image.mjs.map +1 -1
- package/dist/src/shapes/Object/InteractiveObject.d.ts +3 -0
- package/dist/src/shapes/Object/InteractiveObject.d.ts.map +1 -1
- package/dist/src/shapes/Object/InteractiveObject.min.mjs +1 -1
- package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +1 -1
- package/dist/src/shapes/Object/InteractiveObject.mjs +3 -1
- package/dist/src/shapes/Object/InteractiveObject.mjs.map +1 -1
- package/dist/src/shapes/Object/Object.d.ts +1 -16
- package/dist/src/shapes/Object/Object.d.ts.map +1 -1
- package/dist/src/shapes/Object/Object.min.mjs +1 -1
- package/dist/src/shapes/Object/Object.min.mjs.map +1 -1
- package/dist/src/shapes/Object/Object.mjs +9 -10
- package/dist/src/shapes/Object/Object.mjs.map +1 -1
- package/dist/src/shapes/Object/StackedObject.d.ts +8 -15
- package/dist/src/shapes/Object/StackedObject.d.ts.map +1 -1
- package/dist/src/shapes/Object/StackedObject.min.mjs +1 -1
- package/dist/src/shapes/Object/StackedObject.min.mjs.map +1 -1
- package/dist/src/shapes/Object/StackedObject.mjs +11 -21
- package/dist/src/shapes/Object/StackedObject.mjs.map +1 -1
- package/dist/src/shapes/Path.d.ts +2 -2
- package/dist/src/shapes/Path.d.ts.map +1 -1
- package/dist/src/shapes/Path.min.mjs.map +1 -1
- package/dist/src/shapes/Path.mjs +2 -2
- package/dist/src/shapes/Path.mjs.map +1 -1
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +1 -1
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +1 -1
- package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +1 -1
- package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +1 -1
- package/dist/src/util/misc/objectEnlive.d.ts +2 -2
- package/dist/src/util/misc/objectEnlive.d.ts.map +1 -1
- package/dist/src/util/misc/objectEnlive.min.mjs.map +1 -1
- package/dist/src/util/misc/objectEnlive.mjs.map +1 -1
- package/package.json +2 -2
- package/src/canvas/Canvas.ts +6 -9
- package/src/canvas/SelectableCanvas.ts +2 -2
- package/src/canvas/StaticCanvas.ts +4 -18
- package/src/color/Color.ts +2 -1
- package/src/color/color.test.ts +6 -0
- package/src/filters/BaseFilter.ts +45 -51
- package/src/filters/BlendColor.ts +13 -35
- package/src/filters/BlendImage.ts +26 -40
- package/src/filters/Blur.ts +13 -20
- package/src/filters/Boilerplate.ts +13 -22
- package/src/filters/Brightness.ts +12 -21
- package/src/filters/Canvas2dFilterBackend.ts +1 -1
- package/src/filters/ColorMatrix.ts +29 -34
- package/src/filters/ColorMatrixFilters.ts +15 -9
- package/src/filters/Composed.ts +26 -16
- package/src/filters/Contrast.ts +15 -23
- package/src/filters/Convolute.ts +11 -23
- package/src/filters/Gamma.ts +32 -24
- package/src/filters/Grayscale.ts +8 -19
- package/src/filters/HueRotation.ts +21 -11
- package/src/filters/Invert.ts +11 -22
- package/src/filters/Noise.ts +11 -30
- package/src/filters/Pixelate.ts +9 -22
- package/src/filters/RemoveColor.ts +21 -35
- package/src/filters/Resize.ts +20 -44
- package/src/filters/Saturation.ts +16 -27
- package/src/filters/Vibrance.ts +14 -24
- package/src/filters/WebGLFilterBackend.ts +1 -1
- package/src/filters/shaders/blendImage.ts +12 -0
- package/src/filters/typedefs.ts +23 -0
- package/src/parser/elements_parser.ts +1 -1
- package/src/shapes/ActiveSelection.ts +8 -4
- package/src/shapes/Group.ts +16 -1
- package/src/shapes/Image.ts +8 -6
- package/src/shapes/Object/InteractiveObject.ts +3 -1
- package/src/shapes/Object/Object.ts +10 -35
- package/src/shapes/Object/StackedObject.ts +28 -44
- package/src/shapes/Path.ts +4 -4
- package/src/shapes/Text/TextSVGExportMixin.ts +1 -1
- package/src/util/misc/objectEnlive.ts +12 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineProperty as t,
|
|
1
|
+
import{defineProperty as t,objectSpread2 as r}from"../../_virtual/_rollupPluginBabelHelpers.min.mjs";import{BaseFilter as o}from"./BaseFilter.min.mjs";import{classRegistry as s}from"../ClassRegistry.min.mjs";import{fragmentSource as i}from"./shaders/colorMatrix.min.mjs";const a={matrix:[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],colorsOnly:!0};class e extends o{getFragmentSource(){return i}applyTo2d(t){const r=t.imageData.data,o=this.matrix,s=this.colorsOnly;for(let t=0;t<r.length;t+=4){const i=r[t],a=r[t+1],e=r[t+2];if(s)r[t]=i*o[0]+a*o[1]+e*o[2]+255*o[4],r[t+1]=i*o[5]+a*o[6]+e*o[7]+255*o[9],r[t+2]=i*o[10]+a*o[11]+e*o[12]+255*o[14];else{const s=r[t+3];r[t]=i*o[0]+a*o[1]+e*o[2]+s*o[3]+255*o[4],r[t+1]=i*o[5]+a*o[6]+e*o[7]+s*o[8]+255*o[9],r[t+2]=i*o[10]+a*o[11]+e*o[12]+s*o[13]+255*o[14],r[t+3]=i*o[15]+a*o[16]+e*o[17]+s*o[18]+255*o[19]}}}sendUniformData(t,r){const o=this.matrix,s=[o[0],o[1],o[2],o[3],o[5],o[6],o[7],o[8],o[10],o[11],o[12],o[13],o[15],o[16],o[17],o[18]],i=[o[4],o[9],o[14],o[19]];t.uniformMatrix4fv(r.uColorMatrix,!1,s),t.uniform4fv(r.uConstants,i)}toObject(){return r(r({},super.toObject()),{},{matrix:[...this.matrix]})}}t(e,"type","ColorMatrix"),t(e,"defaults",a),t(e,"uniformLocations",["uColorMatrix","uConstants"]),s.setClass(e);export{e as ColorMatrix,a as colorMatrixDefaultValues};
|
|
2
2
|
//# sourceMappingURL=ColorMatrix.min.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorMatrix.min.mjs","sources":["../../../src/filters/ColorMatrix.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"ColorMatrix.min.mjs","sources":["../../../src/filters/ColorMatrix.ts"],"sourcesContent":["import { BaseFilter } from './BaseFilter';\nimport type {\n T2DPipelineState,\n TMatColorMatrix,\n TWebGLUniformLocationMap,\n} from './typedefs';\nimport { classRegistry } from '../ClassRegistry';\nimport { fragmentSource } from './shaders/colorMatrix';\n\ntype ColorMatrixOwnProps = {\n matrix: TMatColorMatrix;\n colorsOnly: boolean;\n};\n\nexport const colorMatrixDefaultValues: ColorMatrixOwnProps = {\n matrix: [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0],\n colorsOnly: true,\n};\n\n/**\n * Color Matrix filter class\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @see {@Link http://phoboslab.org/log/2013/11/fast-image-filters-with-webgl demo}\n * @example <caption>Kodachrome filter</caption>\n * const filter = new ColorMatrix({\n * matrix: [\n 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502,\n -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203,\n -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946,\n 0, 0, 0, 1, 0\n ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\nexport class ColorMatrix<\n Name extends string = 'ColorMatrix',\n OwnProps extends object = ColorMatrixOwnProps\n> extends BaseFilter<Name, OwnProps> {\n /**\n * Colormatrix for pixels.\n * array of 20 floats. Numbers in positions 4, 9, 14, 19 loose meaning\n * outside the -1, 1 range.\n * 0.0039215686 is the part of 1 that get translated to 1 in 2d\n * @param {Array} matrix array of 20 numbers.\n * @default\n */\n declare matrix: ColorMatrixOwnProps['matrix'];\n\n /**\n * Lock the colormatrix on the color part, skipping alpha, mainly for non webgl scenario\n * to save some calculation\n * @type Boolean\n * @default true\n */\n declare colorsOnly: ColorMatrixOwnProps['colorsOnly'];\n\n static type = 'ColorMatrix';\n\n static defaults = colorMatrixDefaultValues;\n\n static uniformLocations = ['uColorMatrix', 'uConstants'];\n\n getFragmentSource(): string {\n return fragmentSource;\n }\n\n /**\n * Apply the ColorMatrix operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */\n applyTo2d(options: T2DPipelineState) {\n const imageData = options.imageData,\n data = imageData.data,\n m = this.matrix,\n colorsOnly = this.colorsOnly;\n\n for (let i = 0; i < data.length; i += 4) {\n const r = data[i];\n const g = data[i + 1];\n const b = data[i + 2];\n if (colorsOnly) {\n data[i] = r * m[0] + g * m[1] + b * m[2] + m[4] * 255;\n data[i + 1] = r * m[5] + g * m[6] + b * m[7] + m[9] * 255;\n data[i + 2] = r * m[10] + g * m[11] + b * m[12] + m[14] * 255;\n } else {\n const a = data[i + 3];\n data[i] = r * m[0] + g * m[1] + b * m[2] + a * m[3] + m[4] * 255;\n data[i + 1] = r * m[5] + g * m[6] + b * m[7] + a * m[8] + m[9] * 255;\n data[i + 2] =\n r * m[10] + g * m[11] + b * m[12] + a * m[13] + m[14] * 255;\n data[i + 3] =\n r * m[15] + g * m[16] + b * m[17] + a * m[18] + m[19] * 255;\n }\n }\n }\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData(\n gl: WebGLRenderingContext,\n uniformLocations: TWebGLUniformLocationMap\n ) {\n const m = this.matrix,\n matrix = [\n m[0],\n m[1],\n m[2],\n m[3],\n m[5],\n m[6],\n m[7],\n m[8],\n m[10],\n m[11],\n m[12],\n m[13],\n m[15],\n m[16],\n m[17],\n m[18],\n ],\n constants = [m[4], m[9], m[14], m[19]];\n gl.uniformMatrix4fv(uniformLocations.uColorMatrix, false, matrix);\n gl.uniform4fv(uniformLocations.uConstants, constants);\n }\n\n toObject() {\n return {\n ...super.toObject(),\n matrix: [...this.matrix] as TMatColorMatrix,\n };\n }\n}\n\nclassRegistry.setClass(ColorMatrix);\n"],"names":["colorMatrixDefaultValues","matrix","colorsOnly","ColorMatrix","BaseFilter","getFragmentSource","fragmentSource","applyTo2d","options","data","imageData","m","this","i","length","r","g","b","a","sendUniformData","gl","uniformLocations","constants","uniformMatrix4fv","uColorMatrix","uniform4fv","uConstants","toObject","_objectSpread","super","_defineProperty","classRegistry","setClass"],"mappings":"+QAcO,MAAMA,EAAgD,CAC3DC,OAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAClEC,YAAY,GAmBP,MAAMC,UAGHC,EAyBRC,iBAAAA,GACE,OAAOC,CACT,CAQAC,SAAAA,CAAUC,GACR,MACEC,EADgBD,EAAQE,UACPD,KACjBE,EAAIC,KAAKX,OACTC,EAAaU,KAAKV,WAEpB,IAAK,IAAIW,EAAI,EAAGA,EAAIJ,EAAKK,OAAQD,GAAK,EAAG,CACvC,MAAME,EAAIN,EAAKI,GACTG,EAAIP,EAAKI,EAAI,GACbI,EAAIR,EAAKI,EAAI,GACnB,GAAIX,EACFO,EAAKI,GAAKE,EAAIJ,EAAE,GAAKK,EAAIL,EAAE,GAAKM,EAAIN,EAAE,GAAY,IAAPA,EAAE,GAC7CF,EAAKI,EAAI,GAAKE,EAAIJ,EAAE,GAAKK,EAAIL,EAAE,GAAKM,EAAIN,EAAE,GAAY,IAAPA,EAAE,GACjDF,EAAKI,EAAI,GAAKE,EAAIJ,EAAE,IAAMK,EAAIL,EAAE,IAAMM,EAAIN,EAAE,IAAc,IAARA,EAAE,QAC/C,CACL,MAAMO,EAAIT,EAAKI,EAAI,GACnBJ,EAAKI,GAAKE,EAAIJ,EAAE,GAAKK,EAAIL,EAAE,GAAKM,EAAIN,EAAE,GAAKO,EAAIP,EAAE,GAAY,IAAPA,EAAE,GACxDF,EAAKI,EAAI,GAAKE,EAAIJ,EAAE,GAAKK,EAAIL,EAAE,GAAKM,EAAIN,EAAE,GAAKO,EAAIP,EAAE,GAAY,IAAPA,EAAE,GAC5DF,EAAKI,EAAI,GACPE,EAAIJ,EAAE,IAAMK,EAAIL,EAAE,IAAMM,EAAIN,EAAE,IAAMO,EAAIP,EAAE,IAAc,IAARA,EAAE,IACpDF,EAAKI,EAAI,GACPE,EAAIJ,EAAE,IAAMK,EAAIL,EAAE,IAAMM,EAAIN,EAAE,IAAMO,EAAIP,EAAE,IAAc,IAARA,EAAE,GACtD,CACF,CACF,CAQAQ,eAAAA,CACEC,EACAC,GAEA,MAAMV,EAAIC,KAAKX,OACbA,EAAS,CACPU,EAAE,GACFA,EAAE,GACFA,EAAE,GACFA,EAAE,GACFA,EAAE,GACFA,EAAE,GACFA,EAAE,GACFA,EAAE,GACFA,EAAE,IACFA,EAAE,IACFA,EAAE,IACFA,EAAE,IACFA,EAAE,IACFA,EAAE,IACFA,EAAE,IACFA,EAAE,KAEJW,EAAY,CAACX,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAAKA,EAAE,KACpCS,EAAGG,iBAAiBF,EAAiBG,cAAc,EAAOvB,GAC1DmB,EAAGK,WAAWJ,EAAiBK,WAAYJ,EAC7C,CAEAK,QAAAA,GACE,OAAAC,EAAAA,EAAA,CAAA,EACKC,MAAMF,YAAU,GAAA,CACnB1B,OAAQ,IAAIW,KAAKX,SAErB,EAzFA6B,EAdW3B,EAAW,OAsBR,eAAa2B,EAtBhB3B,EAAW,WAwBJH,GAAwB8B,EAxB/B3B,EAAW,mBA0BI,CAAC,eAAgB,eAgF7C4B,EAAcC,SAAS7B"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { defineProperty as _defineProperty,
|
|
1
|
+
import { defineProperty as _defineProperty, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
2
|
import { BaseFilter } from './BaseFilter.mjs';
|
|
3
3
|
import { classRegistry } from '../ClassRegistry.mjs';
|
|
4
4
|
import { fragmentSource } from './shaders/colorMatrix.mjs';
|
|
5
5
|
|
|
6
|
-
const _excluded = ["matrix"];
|
|
7
6
|
const colorMatrixDefaultValues = {
|
|
8
7
|
matrix: [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0],
|
|
9
|
-
mainParameter: 'matrix',
|
|
10
8
|
colorsOnly: true
|
|
11
9
|
};
|
|
12
10
|
|
|
@@ -27,17 +25,6 @@ const colorMatrixDefaultValues = {
|
|
|
27
25
|
* object.applyFilters();
|
|
28
26
|
*/
|
|
29
27
|
class ColorMatrix extends BaseFilter {
|
|
30
|
-
setOptions(_ref) {
|
|
31
|
-
let {
|
|
32
|
-
matrix
|
|
33
|
-
} = _ref,
|
|
34
|
-
options = _objectWithoutProperties(_ref, _excluded);
|
|
35
|
-
if (matrix) {
|
|
36
|
-
// safeguard against mutation
|
|
37
|
-
this.matrix = [...matrix];
|
|
38
|
-
}
|
|
39
|
-
Object.assign(this, options);
|
|
40
|
-
}
|
|
41
28
|
getFragmentSource() {
|
|
42
29
|
return fragmentSource;
|
|
43
30
|
}
|
|
@@ -71,19 +58,6 @@ class ColorMatrix extends BaseFilter {
|
|
|
71
58
|
}
|
|
72
59
|
}
|
|
73
60
|
|
|
74
|
-
/**
|
|
75
|
-
* Return WebGL uniform locations for this filter's shader.
|
|
76
|
-
*
|
|
77
|
-
* @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.
|
|
78
|
-
* @param {WebGLShaderProgram} program This filter's compiled shader program.
|
|
79
|
-
*/
|
|
80
|
-
getUniformLocations(gl, program) {
|
|
81
|
-
return {
|
|
82
|
-
uColorMatrix: gl.getUniformLocation(program, 'uColorMatrix'),
|
|
83
|
-
uConstants: gl.getUniformLocation(program, 'uConstants')
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
|
|
87
61
|
/**
|
|
88
62
|
* Send data from this filter to its shader program's uniforms.
|
|
89
63
|
*
|
|
@@ -97,6 +71,11 @@ class ColorMatrix extends BaseFilter {
|
|
|
97
71
|
gl.uniformMatrix4fv(uniformLocations.uColorMatrix, false, matrix);
|
|
98
72
|
gl.uniform4fv(uniformLocations.uConstants, constants);
|
|
99
73
|
}
|
|
74
|
+
toObject() {
|
|
75
|
+
return _objectSpread2(_objectSpread2({}, super.toObject()), {}, {
|
|
76
|
+
matrix: [...this.matrix]
|
|
77
|
+
});
|
|
78
|
+
}
|
|
100
79
|
}
|
|
101
80
|
/**
|
|
102
81
|
* Colormatrix for pixels.
|
|
@@ -114,6 +93,7 @@ class ColorMatrix extends BaseFilter {
|
|
|
114
93
|
*/
|
|
115
94
|
_defineProperty(ColorMatrix, "type", 'ColorMatrix');
|
|
116
95
|
_defineProperty(ColorMatrix, "defaults", colorMatrixDefaultValues);
|
|
96
|
+
_defineProperty(ColorMatrix, "uniformLocations", ['uColorMatrix', 'uConstants']);
|
|
117
97
|
classRegistry.setClass(ColorMatrix);
|
|
118
98
|
|
|
119
99
|
export { ColorMatrix, colorMatrixDefaultValues };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorMatrix.mjs","sources":["../../../src/filters/ColorMatrix.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"ColorMatrix.mjs","sources":["../../../src/filters/ColorMatrix.ts"],"sourcesContent":["import { BaseFilter } from './BaseFilter';\nimport type {\n T2DPipelineState,\n TMatColorMatrix,\n TWebGLUniformLocationMap,\n} from './typedefs';\nimport { classRegistry } from '../ClassRegistry';\nimport { fragmentSource } from './shaders/colorMatrix';\n\ntype ColorMatrixOwnProps = {\n matrix: TMatColorMatrix;\n colorsOnly: boolean;\n};\n\nexport const colorMatrixDefaultValues: ColorMatrixOwnProps = {\n matrix: [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0],\n colorsOnly: true,\n};\n\n/**\n * Color Matrix filter class\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @see {@Link http://phoboslab.org/log/2013/11/fast-image-filters-with-webgl demo}\n * @example <caption>Kodachrome filter</caption>\n * const filter = new ColorMatrix({\n * matrix: [\n 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502,\n -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203,\n -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946,\n 0, 0, 0, 1, 0\n ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\nexport class ColorMatrix<\n Name extends string = 'ColorMatrix',\n OwnProps extends object = ColorMatrixOwnProps\n> extends BaseFilter<Name, OwnProps> {\n /**\n * Colormatrix for pixels.\n * array of 20 floats. Numbers in positions 4, 9, 14, 19 loose meaning\n * outside the -1, 1 range.\n * 0.0039215686 is the part of 1 that get translated to 1 in 2d\n * @param {Array} matrix array of 20 numbers.\n * @default\n */\n declare matrix: ColorMatrixOwnProps['matrix'];\n\n /**\n * Lock the colormatrix on the color part, skipping alpha, mainly for non webgl scenario\n * to save some calculation\n * @type Boolean\n * @default true\n */\n declare colorsOnly: ColorMatrixOwnProps['colorsOnly'];\n\n static type = 'ColorMatrix';\n\n static defaults = colorMatrixDefaultValues;\n\n static uniformLocations = ['uColorMatrix', 'uConstants'];\n\n getFragmentSource(): string {\n return fragmentSource;\n }\n\n /**\n * Apply the ColorMatrix operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */\n applyTo2d(options: T2DPipelineState) {\n const imageData = options.imageData,\n data = imageData.data,\n m = this.matrix,\n colorsOnly = this.colorsOnly;\n\n for (let i = 0; i < data.length; i += 4) {\n const r = data[i];\n const g = data[i + 1];\n const b = data[i + 2];\n if (colorsOnly) {\n data[i] = r * m[0] + g * m[1] + b * m[2] + m[4] * 255;\n data[i + 1] = r * m[5] + g * m[6] + b * m[7] + m[9] * 255;\n data[i + 2] = r * m[10] + g * m[11] + b * m[12] + m[14] * 255;\n } else {\n const a = data[i + 3];\n data[i] = r * m[0] + g * m[1] + b * m[2] + a * m[3] + m[4] * 255;\n data[i + 1] = r * m[5] + g * m[6] + b * m[7] + a * m[8] + m[9] * 255;\n data[i + 2] =\n r * m[10] + g * m[11] + b * m[12] + a * m[13] + m[14] * 255;\n data[i + 3] =\n r * m[15] + g * m[16] + b * m[17] + a * m[18] + m[19] * 255;\n }\n }\n }\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData(\n gl: WebGLRenderingContext,\n uniformLocations: TWebGLUniformLocationMap\n ) {\n const m = this.matrix,\n matrix = [\n m[0],\n m[1],\n m[2],\n m[3],\n m[5],\n m[6],\n m[7],\n m[8],\n m[10],\n m[11],\n m[12],\n m[13],\n m[15],\n m[16],\n m[17],\n m[18],\n ],\n constants = [m[4], m[9], m[14], m[19]];\n gl.uniformMatrix4fv(uniformLocations.uColorMatrix, false, matrix);\n gl.uniform4fv(uniformLocations.uConstants, constants);\n }\n\n toObject() {\n return {\n ...super.toObject(),\n matrix: [...this.matrix] as TMatColorMatrix,\n };\n }\n}\n\nclassRegistry.setClass(ColorMatrix);\n"],"names":["colorMatrixDefaultValues","matrix","colorsOnly","ColorMatrix","BaseFilter","getFragmentSource","fragmentSource","applyTo2d","options","imageData","data","m","i","length","r","g","b","a","sendUniformData","gl","uniformLocations","constants","uniformMatrix4fv","uColorMatrix","uniform4fv","uConstants","toObject","_objectSpread","_defineProperty","classRegistry","setClass"],"mappings":"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"}
|