@visactor/vrender-components 0.21.0-alpha.4 → 0.21.0-beta.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.
Files changed (90) hide show
  1. package/cjs/axis/type.d.ts +2 -2
  2. package/cjs/axis/type.js.map +1 -1
  3. package/cjs/data-zoom/type.d.ts +1 -1
  4. package/cjs/data-zoom/type.js.map +1 -1
  5. package/cjs/index.d.ts +1 -2
  6. package/cjs/index.js +2 -2
  7. package/cjs/index.js.map +1 -1
  8. package/cjs/interface.js.map +1 -1
  9. package/cjs/jsx/component-type.js +2 -1
  10. package/cjs/label/arc.js +2 -3
  11. package/cjs/label/arc.js.map +1 -1
  12. package/cjs/label/base.js +12 -7
  13. package/cjs/label/base.js.map +1 -1
  14. package/cjs/label/overlap/place.d.ts +6 -1
  15. package/cjs/label/overlap/place.js +4 -4
  16. package/cjs/label/overlap/place.js.map +1 -1
  17. package/cjs/label/overlap/shiftY.d.ts +2 -1
  18. package/cjs/label/overlap/shiftY.js +72 -18
  19. package/cjs/label/overlap/shiftY.js.map +1 -1
  20. package/cjs/label/polygon.js +1 -1
  21. package/cjs/label/rect.js +1 -1
  22. package/cjs/legend/color/type.d.ts +2 -2
  23. package/cjs/legend/color/type.js.map +1 -1
  24. package/cjs/legend/discrete/type.d.ts +1 -1
  25. package/cjs/legend/discrete/type.js.map +1 -1
  26. package/cjs/marker/type.d.ts +2 -2
  27. package/cjs/marker/type.js.map +1 -1
  28. package/cjs/player/type/discrete-player.d.ts +3 -3
  29. package/cjs/player/type/discrete-player.js.map +1 -1
  30. package/cjs/player/type/index.d.ts +2 -2
  31. package/cjs/player/type/index.js.map +1 -1
  32. package/cjs/scrollbar/index.d.ts +1 -0
  33. package/cjs/scrollbar/index.js +2 -1
  34. package/cjs/scrollbar/index.js.map +1 -1
  35. package/cjs/scrollbar/scrollbar-plugin.d.ts +18 -15
  36. package/cjs/scrollbar/scrollbar-plugin.js +109 -97
  37. package/cjs/scrollbar/scrollbar-plugin.js.map +1 -1
  38. package/cjs/timeline/type.js.map +1 -1
  39. package/dist/index.es.js +506 -797
  40. package/es/axis/type.d.ts +2 -2
  41. package/es/axis/type.js.map +1 -1
  42. package/es/data-zoom/type.d.ts +1 -1
  43. package/es/data-zoom/type.js.map +1 -1
  44. package/es/index.d.ts +1 -2
  45. package/es/index.js +1 -3
  46. package/es/index.js.map +1 -1
  47. package/es/interface.js.map +1 -1
  48. package/es/jsx/component-type.js +2 -1
  49. package/es/label/arc.js +2 -3
  50. package/es/label/arc.js.map +1 -1
  51. package/es/label/base.js +12 -7
  52. package/es/label/base.js.map +1 -1
  53. package/es/label/overlap/place.d.ts +6 -1
  54. package/es/label/overlap/place.js +4 -4
  55. package/es/label/overlap/place.js.map +1 -1
  56. package/es/label/overlap/shiftY.d.ts +2 -1
  57. package/es/label/overlap/shiftY.js +68 -15
  58. package/es/label/overlap/shiftY.js.map +1 -1
  59. package/es/label/polygon.js +1 -1
  60. package/es/label/rect.js +1 -1
  61. package/es/legend/color/type.d.ts +2 -2
  62. package/es/legend/color/type.js.map +1 -1
  63. package/es/legend/discrete/type.d.ts +1 -1
  64. package/es/legend/discrete/type.js.map +1 -1
  65. package/es/marker/type.d.ts +2 -2
  66. package/es/marker/type.js.map +1 -1
  67. package/es/player/type/discrete-player.d.ts +3 -3
  68. package/es/player/type/discrete-player.js.map +1 -1
  69. package/es/player/type/index.d.ts +2 -2
  70. package/es/player/type/index.js.map +1 -1
  71. package/es/scrollbar/index.d.ts +1 -0
  72. package/es/scrollbar/index.js +2 -0
  73. package/es/scrollbar/index.js.map +1 -1
  74. package/es/scrollbar/scrollbar-plugin.d.ts +18 -15
  75. package/es/scrollbar/scrollbar-plugin.js +111 -94
  76. package/es/scrollbar/scrollbar-plugin.js.map +1 -1
  77. package/es/timeline/type.js.map +1 -1
  78. package/package.json +10 -10
  79. package/cjs/gif/gif.d.ts +0 -29
  80. package/cjs/gif/gif.js +0 -59
  81. package/cjs/gif/gif.js.map +0 -1
  82. package/cjs/gif/index.d.ts +0 -1
  83. package/cjs/gif/index.js +0 -21
  84. package/cjs/gif/index.js.map +0 -1
  85. package/es/gif/gif.d.ts +0 -29
  86. package/es/gif/gif.js +0 -55
  87. package/es/gif/gif.js.map +0 -1
  88. package/es/gif/index.d.ts +0 -1
  89. package/es/gif/index.js +0 -2
  90. package/es/gif/index.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vrender-components",
3
- "version": "0.21.0-alpha.4",
3
+ "version": "0.21.0-beta.0",
4
4
  "description": "components library for dp visualization",
5
5
  "sideEffects": false,
6
6
  "main": "cjs/index.js",
@@ -12,15 +12,14 @@
12
12
  "dist"
13
13
  ],
14
14
  "dependencies": {
15
- "@visactor/vutils": "~0.18.17",
16
- "@visactor/vscale": "~0.18.17",
17
- "@visactor/vrender-core": "0.21.0-alpha.4",
18
- "@visactor/vrender-kits": "0.21.0-alpha.4",
19
- "gifuct-js": "2.1.2"
15
+ "@visactor/vutils": "~0.19.0",
16
+ "@visactor/vscale": "~0.19.0",
17
+ "@visactor/vrender-core": "0.21.0-beta.0",
18
+ "@visactor/vrender-kits": "0.21.0-beta.0"
20
19
  },
21
20
  "devDependencies": {
22
21
  "@rushstack/eslint-patch": "~1.1.4",
23
- "@visactor/vscale": "~0.18.17",
22
+ "@visactor/vscale": "~0.19.0",
24
23
  "@types/jest": "^26.0.0",
25
24
  "jest": "^26.0.0",
26
25
  "jest-electron": "^0.1.12",
@@ -31,8 +30,8 @@
31
30
  "typescript": "4.9.5",
32
31
  "cross-env": "^7.0.3",
33
32
  "@internal/bundler": "0.0.1",
34
- "@internal/eslint-config": "0.0.1",
35
- "@internal/ts-config": "0.0.1"
33
+ "@internal/ts-config": "0.0.1",
34
+ "@internal/eslint-config": "0.0.1"
36
35
  },
37
36
  "keywords": [
38
37
  "VisActor",
@@ -75,6 +74,7 @@
75
74
  "test-cov": "jest --coverage",
76
75
  "test-live": "npm run test-watch __tests__/unit/",
77
76
  "test-watch": "cross-env DEBUG_MODE=1 jest --watch",
78
- "analysis-core": "cross-env DEBUG='Bundler*' bundle -f umd -a -i core.ts"
77
+ "analysis-core": "cross-env DEBUG='Bundler*' bundle -f umd -a -i core.ts",
78
+ "build:spec-types": "rm -rf ./spec-types && tsc -p ./tsconfig.spec.json --declaration --emitDeclarationOnly --outDir ./spec-types"
79
79
  }
80
80
  }
package/cjs/gif/gif.d.ts DELETED
@@ -1,29 +0,0 @@
1
- import type { IImageGraphicAttribute, ISetAttributeContext } from '@visactor/vrender-core';
2
- import { Image } from '@visactor/vrender-core';
3
- import type { ITimeline } from '@visactor/vrender-core';
4
- import type { ParsedFrame } from 'gifuct-js';
5
- export interface IGifImageGraphicAttribute extends IImageGraphicAttribute {
6
- timeline?: ITimeline;
7
- gifImage?: string | ArrayBuffer;
8
- }
9
- export declare class GifImage extends Image {
10
- attribute: IGifImageGraphicAttribute;
11
- frameImageData?: ImageData;
12
- tempCanvas?: HTMLCanvasElement;
13
- tempCtx?: CanvasRenderingContext2D;
14
- gifCanvas?: HTMLCanvasElement;
15
- gifCtx?: CanvasRenderingContext2D;
16
- loadedFrames?: ParsedFrame[];
17
- frameIndex?: number;
18
- playing?: boolean;
19
- lastTime?: number;
20
- isGifImage: boolean;
21
- constructor(params: IGifImageGraphicAttribute);
22
- loadGif(): void;
23
- renderGIF(frames: ParsedFrame[]): void;
24
- renderFrame(context: CanvasRenderingContext2D, x: number, y: number): void;
25
- drawPatch(frame: ParsedFrame): void;
26
- manipulate(context: CanvasRenderingContext2D, x: number, y: number): void;
27
- setAttribute(key: string, value: any, forceUpdateTag?: boolean, context?: ISetAttributeContext): void;
28
- setAttributes(params: Partial<IGifImageGraphicAttribute>, forceUpdateTag?: boolean, context?: ISetAttributeContext): void;
29
- }
package/cjs/gif/gif.js DELETED
@@ -1,59 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.GifImage = void 0;
6
-
7
- const vrender_core_1 = require("@visactor/vrender-core"), vutils_1 = require("@visactor/vutils"), gifuct_js_1 = require("gifuct-js");
8
-
9
- class GifImage extends vrender_core_1.Image {
10
- constructor(params) {
11
- super(params), this.isGifImage = !0, this.loadGif();
12
- }
13
- loadGif() {
14
- if ((0, vutils_1.isString)(this.attribute.gifImage)) vrender_core_1.ResourceLoader.GetFile(this.attribute.gifImage, "arrayBuffer").then((res => {
15
- const gif = (0, gifuct_js_1.parseGIF)(res), frames = (0, gifuct_js_1.decompressFrames)(gif, !0);
16
- this.renderGIF(frames);
17
- })).catch((e => {
18
- console.error("Gif load error: ", e);
19
- })); else if (this.attribute.gifImage instanceof ArrayBuffer) {
20
- const gif = (0, gifuct_js_1.parseGIF)(this.attribute.gifImage), frames = (0, gifuct_js_1.decompressFrames)(gif, !0);
21
- this.renderGIF(frames);
22
- }
23
- }
24
- renderGIF(frames) {
25
- this.loadedFrames = frames, this.frameIndex = 0, this.tempCanvas || (this.tempCanvas = vrender_core_1.application.global.createCanvas({}),
26
- this.tempCtx = this.tempCanvas.getContext("2d")), this.gifCanvas || (this.gifCanvas = vrender_core_1.application.global.createCanvas({}),
27
- this.gifCtx = this.gifCanvas.getContext("2d")), this.gifCanvas.width = frames[0].dims.width,
28
- this.gifCanvas.height = frames[0].dims.height, this.playing = !0, this.lastTime = (new Date).getTime();
29
- const animation = this.animate();
30
- this.attribute.timeline && animation.setTimeline(this.attribute.timeline), animation.to({}, 1e3, "linear").loop(1 / 0);
31
- }
32
- renderFrame(context, x, y) {
33
- const frame = this.loadedFrames[this.frameIndex || 0];
34
- 2 === frame.disposalType && this.gifCtx.clearRect(0, 0, this.gifCanvas.width, this.gifCanvas.height),
35
- this.drawPatch(frame), this.manipulate(context, x, y);
36
- const diff = (new Date).getTime() - this.lastTime;
37
- frame.delay < diff && (this.frameIndex++, this.lastTime = (new Date).getTime()),
38
- this.frameIndex >= this.loadedFrames.length && (this.frameIndex = 0);
39
- }
40
- drawPatch(frame) {
41
- const dims = frame.dims;
42
- this.frameImageData && dims.width === this.frameImageData.width && dims.height === this.frameImageData.height || (this.tempCanvas.width = dims.width,
43
- this.tempCanvas.height = dims.height, this.frameImageData = this.tempCtx.createImageData(dims.width, dims.height)),
44
- this.frameImageData.data.set(frame.patch), this.tempCtx.putImageData(this.frameImageData, 0, 0),
45
- this.gifCtx.drawImage(this.tempCanvas, dims.left, dims.top);
46
- }
47
- manipulate(context, x, y) {
48
- context.drawImage(this.gifCanvas, 0, 0, this.gifCanvas.width, this.gifCanvas.height, x, y, this.attribute.width, this.attribute.height);
49
- }
50
- setAttribute(key, value, forceUpdateTag, context) {
51
- super.setAttribute(key, value, forceUpdateTag, context), "gifImage" === key && this.loadGif();
52
- }
53
- setAttributes(params, forceUpdateTag, context) {
54
- super.setAttributes(params, forceUpdateTag, context), params.gifImage && this.loadGif();
55
- }
56
- }
57
-
58
- exports.GifImage = GifImage;
59
- //# sourceMappingURL=gif.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/gif/gif.ts"],"names":[],"mappings":"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","file":"gif.js","sourcesContent":["import type { IImageGraphicAttribute, ISetAttributeContext } from '@visactor/vrender-core';\nimport { application, Image, ResourceLoader } from '@visactor/vrender-core';\nimport type { ITimeline } from '@visactor/vrender-core';\nimport { isString } from '@visactor/vutils';\nimport type { ParsedFrame } from 'gifuct-js';\nimport { decompressFrames, parseGIF } from 'gifuct-js';\n\nexport interface IGifImageGraphicAttribute extends IImageGraphicAttribute {\n timeline?: ITimeline;\n gifImage?: string | ArrayBuffer;\n}\n\nexport class GifImage extends Image {\n declare attribute: IGifImageGraphicAttribute;\n\n frameImageData?: ImageData;\n tempCanvas?: HTMLCanvasElement;\n tempCtx?: CanvasRenderingContext2D;\n gifCanvas?: HTMLCanvasElement;\n gifCtx?: CanvasRenderingContext2D;\n loadedFrames?: ParsedFrame[];\n frameIndex?: number;\n playing?: boolean;\n lastTime?: number;\n\n isGifImage = true;\n\n constructor(params: IGifImageGraphicAttribute) {\n super(params);\n\n this.loadGif();\n }\n\n loadGif() {\n if (isString(this.attribute.gifImage)) {\n ResourceLoader.GetFile(this.attribute.gifImage, 'arrayBuffer')\n .then((res: ArrayBuffer) => {\n const gif = parseGIF(res);\n const frames = decompressFrames(gif, true);\n this.renderGIF(frames);\n })\n .catch(e => {\n console.error('Gif load error: ', e);\n });\n } else if (this.attribute.gifImage instanceof ArrayBuffer) {\n const gif = parseGIF(this.attribute.gifImage);\n const frames = decompressFrames(gif, true);\n this.renderGIF(frames);\n }\n }\n\n renderGIF(frames: ParsedFrame[]) {\n this.loadedFrames = frames;\n this.frameIndex = 0;\n\n if (!this.tempCanvas) {\n this.tempCanvas = application.global.createCanvas({});\n this.tempCtx = this.tempCanvas.getContext('2d');\n }\n\n if (!this.gifCanvas) {\n this.gifCanvas = application.global.createCanvas({});\n this.gifCtx = this.gifCanvas.getContext('2d');\n }\n\n this.gifCanvas.width = frames[0].dims.width;\n this.gifCanvas.height = frames[0].dims.height;\n\n this.playing = true;\n this.lastTime = new Date().getTime();\n const animation = this.animate();\n if (this.attribute.timeline) {\n animation.setTimeline(this.attribute.timeline);\n }\n animation.to({}, 1000, 'linear').loop(Infinity);\n }\n\n renderFrame(context: CanvasRenderingContext2D, x: number, y: number) {\n // get the frame\n const frame = this.loadedFrames[this.frameIndex || 0];\n\n if (frame.disposalType === 2) {\n this.gifCtx.clearRect(0, 0, this.gifCanvas.width, this.gifCanvas.height);\n }\n\n // draw image into gifCanvas\n this.drawPatch(frame);\n\n // draw gifCanvas into stage\n this.manipulate(context, x, y);\n\n // update the frame index\n const diff = new Date().getTime() - this.lastTime;\n if (frame.delay < diff) {\n this.frameIndex++;\n this.lastTime = new Date().getTime();\n }\n if (this.frameIndex >= this.loadedFrames.length) {\n this.frameIndex = 0;\n }\n }\n\n drawPatch(frame: ParsedFrame) {\n const dims = frame.dims;\n\n if (\n !this.frameImageData ||\n dims.width !== this.frameImageData.width ||\n dims.height !== this.frameImageData.height\n ) {\n this.tempCanvas.width = dims.width;\n this.tempCanvas.height = dims.height;\n this.frameImageData = this.tempCtx.createImageData(dims.width, dims.height);\n }\n\n // set the patch data as an override\n this.frameImageData.data.set(frame.patch);\n\n // draw the patch back over the canvas\n this.tempCtx.putImageData(this.frameImageData, 0, 0);\n\n this.gifCtx.drawImage(this.tempCanvas, dims.left, dims.top);\n }\n\n manipulate(context: CanvasRenderingContext2D, x: number, y: number) {\n context.drawImage(\n this.gifCanvas,\n 0,\n 0,\n this.gifCanvas.width,\n this.gifCanvas.height,\n x,\n y,\n this.attribute.width,\n this.attribute.height\n );\n }\n\n setAttribute(key: string, value: any, forceUpdateTag?: boolean, context?: ISetAttributeContext): void {\n super.setAttribute(key, value, forceUpdateTag, context);\n if (key === 'gifImage') {\n this.loadGif();\n }\n }\n\n setAttributes(\n params: Partial<IGifImageGraphicAttribute>,\n forceUpdateTag?: boolean,\n context?: ISetAttributeContext\n ): void {\n super.setAttributes(params, forceUpdateTag, context);\n if (params.gifImage) {\n this.loadGif();\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- export * from './gif';
package/cjs/gif/index.js DELETED
@@ -1,21 +0,0 @@
1
- "use strict";
2
-
3
- var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
4
- void 0 === k2 && (k2 = k);
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
7
- enumerable: !0,
8
- get: function() {
9
- return m[k];
10
- }
11
- }), Object.defineProperty(o, k2, desc);
12
- } : function(o, m, k, k2) {
13
- void 0 === k2 && (k2 = k), o[k2] = m[k];
14
- }), __exportStar = this && this.__exportStar || function(m, exports) {
15
- for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p);
16
- };
17
-
18
- Object.defineProperty(exports, "__esModule", {
19
- value: !0
20
- }), __exportStar(require("./gif"), exports);
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/gif/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB","file":"index.js","sourcesContent":["export * from './gif';\n"]}
package/es/gif/gif.d.ts DELETED
@@ -1,29 +0,0 @@
1
- import type { IImageGraphicAttribute, ISetAttributeContext } from '@visactor/vrender-core';
2
- import { Image } from '@visactor/vrender-core';
3
- import type { ITimeline } from '@visactor/vrender-core';
4
- import type { ParsedFrame } from 'gifuct-js';
5
- export interface IGifImageGraphicAttribute extends IImageGraphicAttribute {
6
- timeline?: ITimeline;
7
- gifImage?: string | ArrayBuffer;
8
- }
9
- export declare class GifImage extends Image {
10
- attribute: IGifImageGraphicAttribute;
11
- frameImageData?: ImageData;
12
- tempCanvas?: HTMLCanvasElement;
13
- tempCtx?: CanvasRenderingContext2D;
14
- gifCanvas?: HTMLCanvasElement;
15
- gifCtx?: CanvasRenderingContext2D;
16
- loadedFrames?: ParsedFrame[];
17
- frameIndex?: number;
18
- playing?: boolean;
19
- lastTime?: number;
20
- isGifImage: boolean;
21
- constructor(params: IGifImageGraphicAttribute);
22
- loadGif(): void;
23
- renderGIF(frames: ParsedFrame[]): void;
24
- renderFrame(context: CanvasRenderingContext2D, x: number, y: number): void;
25
- drawPatch(frame: ParsedFrame): void;
26
- manipulate(context: CanvasRenderingContext2D, x: number, y: number): void;
27
- setAttribute(key: string, value: any, forceUpdateTag?: boolean, context?: ISetAttributeContext): void;
28
- setAttributes(params: Partial<IGifImageGraphicAttribute>, forceUpdateTag?: boolean, context?: ISetAttributeContext): void;
29
- }
package/es/gif/gif.js DELETED
@@ -1,55 +0,0 @@
1
- import { application, Image, ResourceLoader } from "@visactor/vrender-core";
2
-
3
- import { isString } from "@visactor/vutils";
4
-
5
- import { decompressFrames, parseGIF } from "gifuct-js";
6
-
7
- export class GifImage extends Image {
8
- constructor(params) {
9
- super(params), this.isGifImage = !0, this.loadGif();
10
- }
11
- loadGif() {
12
- if (isString(this.attribute.gifImage)) ResourceLoader.GetFile(this.attribute.gifImage, "arrayBuffer").then((res => {
13
- const gif = parseGIF(res), frames = decompressFrames(gif, !0);
14
- this.renderGIF(frames);
15
- })).catch((e => {
16
- console.error("Gif load error: ", e);
17
- })); else if (this.attribute.gifImage instanceof ArrayBuffer) {
18
- const gif = parseGIF(this.attribute.gifImage), frames = decompressFrames(gif, !0);
19
- this.renderGIF(frames);
20
- }
21
- }
22
- renderGIF(frames) {
23
- this.loadedFrames = frames, this.frameIndex = 0, this.tempCanvas || (this.tempCanvas = application.global.createCanvas({}),
24
- this.tempCtx = this.tempCanvas.getContext("2d")), this.gifCanvas || (this.gifCanvas = application.global.createCanvas({}),
25
- this.gifCtx = this.gifCanvas.getContext("2d")), this.gifCanvas.width = frames[0].dims.width,
26
- this.gifCanvas.height = frames[0].dims.height, this.playing = !0, this.lastTime = (new Date).getTime();
27
- const animation = this.animate();
28
- this.attribute.timeline && animation.setTimeline(this.attribute.timeline), animation.to({}, 1e3, "linear").loop(1 / 0);
29
- }
30
- renderFrame(context, x, y) {
31
- const frame = this.loadedFrames[this.frameIndex || 0];
32
- 2 === frame.disposalType && this.gifCtx.clearRect(0, 0, this.gifCanvas.width, this.gifCanvas.height),
33
- this.drawPatch(frame), this.manipulate(context, x, y);
34
- const diff = (new Date).getTime() - this.lastTime;
35
- frame.delay < diff && (this.frameIndex++, this.lastTime = (new Date).getTime()),
36
- this.frameIndex >= this.loadedFrames.length && (this.frameIndex = 0);
37
- }
38
- drawPatch(frame) {
39
- const dims = frame.dims;
40
- this.frameImageData && dims.width === this.frameImageData.width && dims.height === this.frameImageData.height || (this.tempCanvas.width = dims.width,
41
- this.tempCanvas.height = dims.height, this.frameImageData = this.tempCtx.createImageData(dims.width, dims.height)),
42
- this.frameImageData.data.set(frame.patch), this.tempCtx.putImageData(this.frameImageData, 0, 0),
43
- this.gifCtx.drawImage(this.tempCanvas, dims.left, dims.top);
44
- }
45
- manipulate(context, x, y) {
46
- context.drawImage(this.gifCanvas, 0, 0, this.gifCanvas.width, this.gifCanvas.height, x, y, this.attribute.width, this.attribute.height);
47
- }
48
- setAttribute(key, value, forceUpdateTag, context) {
49
- super.setAttribute(key, value, forceUpdateTag, context), "gifImage" === key && this.loadGif();
50
- }
51
- setAttributes(params, forceUpdateTag, context) {
52
- super.setAttributes(params, forceUpdateTag, context), params.gifImage && this.loadGif();
53
- }
54
- }
55
- //# sourceMappingURL=gif.js.map
package/es/gif/gif.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/gif/gif.ts"],"names":[],"mappings":"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","file":"gif.js","sourcesContent":["import type { IImageGraphicAttribute, ISetAttributeContext } from '@visactor/vrender-core';\nimport { application, Image, ResourceLoader } from '@visactor/vrender-core';\nimport type { ITimeline } from '@visactor/vrender-core';\nimport { isString } from '@visactor/vutils';\nimport type { ParsedFrame } from 'gifuct-js';\nimport { decompressFrames, parseGIF } from 'gifuct-js';\n\nexport interface IGifImageGraphicAttribute extends IImageGraphicAttribute {\n timeline?: ITimeline;\n gifImage?: string | ArrayBuffer;\n}\n\nexport class GifImage extends Image {\n declare attribute: IGifImageGraphicAttribute;\n\n frameImageData?: ImageData;\n tempCanvas?: HTMLCanvasElement;\n tempCtx?: CanvasRenderingContext2D;\n gifCanvas?: HTMLCanvasElement;\n gifCtx?: CanvasRenderingContext2D;\n loadedFrames?: ParsedFrame[];\n frameIndex?: number;\n playing?: boolean;\n lastTime?: number;\n\n isGifImage = true;\n\n constructor(params: IGifImageGraphicAttribute) {\n super(params);\n\n this.loadGif();\n }\n\n loadGif() {\n if (isString(this.attribute.gifImage)) {\n ResourceLoader.GetFile(this.attribute.gifImage, 'arrayBuffer')\n .then((res: ArrayBuffer) => {\n const gif = parseGIF(res);\n const frames = decompressFrames(gif, true);\n this.renderGIF(frames);\n })\n .catch(e => {\n console.error('Gif load error: ', e);\n });\n } else if (this.attribute.gifImage instanceof ArrayBuffer) {\n const gif = parseGIF(this.attribute.gifImage);\n const frames = decompressFrames(gif, true);\n this.renderGIF(frames);\n }\n }\n\n renderGIF(frames: ParsedFrame[]) {\n this.loadedFrames = frames;\n this.frameIndex = 0;\n\n if (!this.tempCanvas) {\n this.tempCanvas = application.global.createCanvas({});\n this.tempCtx = this.tempCanvas.getContext('2d');\n }\n\n if (!this.gifCanvas) {\n this.gifCanvas = application.global.createCanvas({});\n this.gifCtx = this.gifCanvas.getContext('2d');\n }\n\n this.gifCanvas.width = frames[0].dims.width;\n this.gifCanvas.height = frames[0].dims.height;\n\n this.playing = true;\n this.lastTime = new Date().getTime();\n const animation = this.animate();\n if (this.attribute.timeline) {\n animation.setTimeline(this.attribute.timeline);\n }\n animation.to({}, 1000, 'linear').loop(Infinity);\n }\n\n renderFrame(context: CanvasRenderingContext2D, x: number, y: number) {\n // get the frame\n const frame = this.loadedFrames[this.frameIndex || 0];\n\n if (frame.disposalType === 2) {\n this.gifCtx.clearRect(0, 0, this.gifCanvas.width, this.gifCanvas.height);\n }\n\n // draw image into gifCanvas\n this.drawPatch(frame);\n\n // draw gifCanvas into stage\n this.manipulate(context, x, y);\n\n // update the frame index\n const diff = new Date().getTime() - this.lastTime;\n if (frame.delay < diff) {\n this.frameIndex++;\n this.lastTime = new Date().getTime();\n }\n if (this.frameIndex >= this.loadedFrames.length) {\n this.frameIndex = 0;\n }\n }\n\n drawPatch(frame: ParsedFrame) {\n const dims = frame.dims;\n\n if (\n !this.frameImageData ||\n dims.width !== this.frameImageData.width ||\n dims.height !== this.frameImageData.height\n ) {\n this.tempCanvas.width = dims.width;\n this.tempCanvas.height = dims.height;\n this.frameImageData = this.tempCtx.createImageData(dims.width, dims.height);\n }\n\n // set the patch data as an override\n this.frameImageData.data.set(frame.patch);\n\n // draw the patch back over the canvas\n this.tempCtx.putImageData(this.frameImageData, 0, 0);\n\n this.gifCtx.drawImage(this.tempCanvas, dims.left, dims.top);\n }\n\n manipulate(context: CanvasRenderingContext2D, x: number, y: number) {\n context.drawImage(\n this.gifCanvas,\n 0,\n 0,\n this.gifCanvas.width,\n this.gifCanvas.height,\n x,\n y,\n this.attribute.width,\n this.attribute.height\n );\n }\n\n setAttribute(key: string, value: any, forceUpdateTag?: boolean, context?: ISetAttributeContext): void {\n super.setAttribute(key, value, forceUpdateTag, context);\n if (key === 'gifImage') {\n this.loadGif();\n }\n }\n\n setAttributes(\n params: Partial<IGifImageGraphicAttribute>,\n forceUpdateTag?: boolean,\n context?: ISetAttributeContext\n ): void {\n super.setAttributes(params, forceUpdateTag, context);\n if (params.gifImage) {\n this.loadGif();\n }\n }\n}\n"]}
package/es/gif/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './gif';
package/es/gif/index.js DELETED
@@ -1,2 +0,0 @@
1
- export * from "./gif";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/gif/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC","file":"index.js","sourcesContent":["export * from './gif';\n"]}