@visactor/vrender-kits 0.19.0 → 0.19.2

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 (55) hide show
  1. package/cjs/env/contributions/canvas-wrap.js +1 -2
  2. package/cjs/env/contributions/taro-contribution.js +2 -1
  3. package/cjs/env/contributions/tt-contribution.d.ts +40 -0
  4. package/cjs/env/contributions/tt-contribution.js +128 -0
  5. package/cjs/env/contributions/tt-contribution.js.map +1 -0
  6. package/cjs/env/index.d.ts +1 -0
  7. package/cjs/env/index.js +1 -1
  8. package/cjs/env/index.js.map +1 -1
  9. package/cjs/env/tt.d.ts +7 -0
  10. package/cjs/env/tt.js +24 -0
  11. package/cjs/env/tt.js.map +1 -0
  12. package/cjs/index.d.ts +1 -0
  13. package/cjs/index.js +4 -3
  14. package/cjs/index.js.map +1 -1
  15. package/cjs/jsx/jsx-classic.js +1 -2
  16. package/cjs/picker/canvas-module.js +2 -1
  17. package/cjs/picker/canvas-picker-service.js +3 -2
  18. package/cjs/picker/canvas-picker-service.js.map +1 -1
  19. package/cjs/picker/contributions/constants.js +1 -1
  20. package/cjs/picker/math-picker-service.js +3 -2
  21. package/cjs/picker/math-picker-service.js.map +1 -1
  22. package/cjs/register/register-polygon.js +1 -2
  23. package/cjs/register/register-pyramid3d.js +2 -1
  24. package/cjs/render/contributions/render-module.js +2 -0
  25. package/cjs/window/contributions/tt-contribution.d.ts +46 -0
  26. package/cjs/window/contributions/tt-contribution.js +159 -0
  27. package/cjs/window/contributions/tt-contribution.js.map +1 -0
  28. package/es/env/contributions/canvas-wrap.js +1 -2
  29. package/es/env/contributions/taro-contribution.js +2 -1
  30. package/es/env/contributions/tt-contribution.d.ts +40 -0
  31. package/es/env/contributions/tt-contribution.js +123 -0
  32. package/es/env/contributions/tt-contribution.js.map +1 -0
  33. package/es/env/index.d.ts +1 -0
  34. package/es/env/index.js +2 -0
  35. package/es/env/index.js.map +1 -1
  36. package/es/env/tt.d.ts +7 -0
  37. package/es/env/tt.js +28 -0
  38. package/es/env/tt.js.map +1 -0
  39. package/es/index.d.ts +1 -0
  40. package/es/index.js +2 -0
  41. package/es/index.js.map +1 -1
  42. package/es/jsx/jsx-classic.js +1 -2
  43. package/es/picker/canvas-module.js +2 -1
  44. package/es/picker/canvas-picker-service.js +3 -2
  45. package/es/picker/canvas-picker-service.js.map +1 -1
  46. package/es/picker/contributions/constants.js +1 -1
  47. package/es/picker/math-picker-service.js +3 -2
  48. package/es/picker/math-picker-service.js.map +1 -1
  49. package/es/register/register-polygon.js +1 -2
  50. package/es/register/register-pyramid3d.js +2 -1
  51. package/es/render/contributions/render-module.js +2 -0
  52. package/es/window/contributions/tt-contribution.d.ts +46 -0
  53. package/es/window/contributions/tt-contribution.js +157 -0
  54. package/es/window/contributions/tt-contribution.js.map +1 -0
  55. package/package.json +4 -4
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+
3
+ var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
4
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
5
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ }, __metadata = this && this.__metadata || function(k, v) {
8
+ if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
9
+ }, __param = this && this.__param || function(paramIndex, decorator) {
10
+ return function(target, key) {
11
+ decorator(target, key, paramIndex);
12
+ };
13
+ };
14
+
15
+ Object.defineProperty(exports, "__esModule", {
16
+ value: !0
17
+ }), exports.ttWindowModule = exports.TTWindowHandlerContribution = void 0;
18
+
19
+ const vrender_core_1 = require("@visactor/vrender-core"), tt_1 = require("../../canvas/contributions/tt");
20
+
21
+ class MiniAppEventManager {
22
+ constructor() {
23
+ this.cache = {};
24
+ }
25
+ addEventListener(type, func) {
26
+ type && func && (this.cache[type] = this.cache[type] || {
27
+ listener: []
28
+ }, this.cache[type].listener.push(func));
29
+ }
30
+ removeEventListener(type, func) {
31
+ if (!type || !func) return;
32
+ if (!this.cache[type]) return;
33
+ const index = this.cache[type].listener.findIndex((f => f === func));
34
+ index >= 0 && this.cache[type].listener.splice(index, 1);
35
+ }
36
+ cleanEvent() {
37
+ this.cache = {};
38
+ }
39
+ }
40
+
41
+ let TTWindowHandlerContribution = class extends vrender_core_1.BaseWindowHandlerContribution {
42
+ get container() {
43
+ return null;
44
+ }
45
+ constructor(global) {
46
+ super(), this.global = global, this.type = "tt", this.eventManager = new MiniAppEventManager;
47
+ }
48
+ getTitle() {
49
+ return this.canvas.id.toString();
50
+ }
51
+ getWH() {
52
+ return {
53
+ width: this.canvas.width / (this.canvas.dpr || 1),
54
+ height: this.canvas.height / (this.canvas.dpr || 1)
55
+ };
56
+ }
57
+ getXY() {
58
+ return {
59
+ x: 0,
60
+ y: 0
61
+ };
62
+ }
63
+ createWindow(params) {
64
+ params.canvas ? this.createWindowByCanvas(params) : this.createWindowByConfig(params);
65
+ }
66
+ createWindowByConfig(params) {
67
+ const nativeCanvas = this.global.createCanvas({
68
+ width: params.width,
69
+ height: params.height
70
+ }), options = {
71
+ width: params.width,
72
+ height: params.height,
73
+ dpr: params.dpr,
74
+ nativeCanvas: nativeCanvas,
75
+ id: vrender_core_1.Generator.GenAutoIncrementId().toString(),
76
+ canvasControled: !1
77
+ };
78
+ this.canvas = new tt_1.TTCanvas(options);
79
+ }
80
+ createWindowByCanvas(params) {
81
+ let canvas;
82
+ if ("string" == typeof params.canvas) {
83
+ if (canvas = this.global.getElementById(params.canvas), !canvas) throw new Error("canvasId 参数不正确,请确认canvas存在并插入dom");
84
+ } else canvas = params.canvas;
85
+ let width = params.width, height = params.height;
86
+ if (null == width || null == height || !params.canvasControled) {
87
+ const data = canvas.getBoundingClientRect();
88
+ width = data.width, height = data.height;
89
+ }
90
+ let dpr = params.dpr;
91
+ null == dpr && (dpr = canvas.width / width), this.canvas = new tt_1.TTCanvas({
92
+ width: width,
93
+ height: height,
94
+ dpr: dpr,
95
+ nativeCanvas: canvas,
96
+ canvasControled: params.canvasControled
97
+ });
98
+ }
99
+ releaseWindow() {}
100
+ resizeWindow(width, height) {}
101
+ setDpr(dpr) {
102
+ this.canvas.dpr = dpr;
103
+ }
104
+ getContext() {
105
+ return this.canvas.getContext();
106
+ }
107
+ getNativeHandler() {
108
+ return this.canvas;
109
+ }
110
+ getDpr() {
111
+ return this.canvas.dpr;
112
+ }
113
+ addEventListener(type, listener) {
114
+ this.eventManager.addEventListener(type, listener);
115
+ }
116
+ removeEventListener(type, listener) {
117
+ this.eventManager.removeEventListener(type, listener);
118
+ }
119
+ dispatchEvent(event) {
120
+ const {type: type} = event;
121
+ return !!this.eventManager.cache[type] && (event.changedTouches && event.changedTouches[0] && (event.offsetX = event.changedTouches[0].x,
122
+ event.changedTouches[0].offsetX = event.changedTouches[0].x, event.changedTouches[0].clientX = event.changedTouches[0].x,
123
+ event.offsetY = event.changedTouches[0].y, event.changedTouches[0].offsetY = event.changedTouches[0].y,
124
+ event.changedTouches[0].clientY = event.changedTouches[0].y), event.preventDefault = () => {},
125
+ event.stopPropagation = () => {}, this.eventManager.cache[type].listener && this.eventManager.cache[type].listener.forEach((f => {
126
+ f(event);
127
+ })), !0);
128
+ }
129
+ getStyle() {
130
+ return {};
131
+ }
132
+ setStyle(style) {}
133
+ getBoundingClientRect() {
134
+ const wh = this.getWH();
135
+ return {
136
+ x: 0,
137
+ y: 0,
138
+ width: wh.width,
139
+ height: wh.height,
140
+ left: 0,
141
+ top: 0,
142
+ right: 0,
143
+ bottom: 0
144
+ };
145
+ }
146
+ clearViewBox(color) {
147
+ const vb = this.viewBox, context = this.getContext(), dpr = this.getDpr();
148
+ context.nativeContext.save(), context.nativeContext.setTransform(dpr, 0, 0, dpr, 0, 0),
149
+ context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1), color && (context.fillStyle = color,
150
+ context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1)), context.nativeContext.restore();
151
+ }
152
+ };
153
+
154
+ TTWindowHandlerContribution.env = "tt", TTWindowHandlerContribution = __decorate([ (0,
155
+ vrender_core_1.injectable)(), __param(0, (0, vrender_core_1.inject)(vrender_core_1.VGlobal)), __metadata("design:paramtypes", [ Object ]) ], TTWindowHandlerContribution),
156
+ exports.TTWindowHandlerContribution = TTWindowHandlerContribution, exports.ttWindowModule = new vrender_core_1.ContainerModule((bind => {
157
+ bind(TTWindowHandlerContribution).toSelf(), bind(vrender_core_1.WindowHandlerContribution).toDynamicValue((ctx => ctx.container.get(TTWindowHandlerContribution))).whenTargetNamed(TTWindowHandlerContribution.env);
158
+ }));
159
+ //# sourceMappingURL=tt-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/window/contributions/tt-contribution.ts"],"names":[],"mappings":"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","file":"tt-contribution.js","sourcesContent":["import {\n inject,\n injectable,\n Generator,\n BaseWindowHandlerContribution,\n VGlobal,\n ContainerModule,\n WindowHandlerContribution\n} from '@visactor/vrender-core';\nimport type {\n EnvType,\n IGlobal,\n IContext2d,\n ICanvas,\n IDomRectLike,\n IWindowHandlerContribution,\n IWindowParams\n} from '@visactor/vrender-core';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { TTCanvas } from '../../canvas/contributions/tt';\n\nclass MiniAppEventManager {\n addEventListener(type: string, func: EventListenerOrEventListenerObject) {\n if (!type || !func) {\n return;\n }\n this.cache[type] = this.cache[type] || {\n listener: []\n };\n this.cache[type].listener.push(func);\n }\n removeEventListener(type: string, func: EventListenerOrEventListenerObject) {\n if (!type || !func) {\n return;\n }\n if (!this.cache[type]) {\n return;\n }\n const index = this.cache[type].listener.findIndex((f: EventListenerOrEventListenerObject) => f === func);\n if (index >= 0) {\n this.cache[type].listener.splice(index, 1);\n }\n }\n cleanEvent() {\n this.cache = {};\n }\n cache: Record<string, { listener: EventListenerOrEventListenerObject[] }> = {};\n}\n\n@injectable()\nexport class TTWindowHandlerContribution extends BaseWindowHandlerContribution implements IWindowHandlerContribution {\n static env: EnvType = 'tt';\n type: EnvType = 'tt';\n\n protected eventManager = new MiniAppEventManager();\n\n canvas: ICanvas;\n get container(): HTMLElement | null {\n return null;\n }\n\n constructor(@inject(VGlobal) private readonly global: IGlobal) {\n super();\n }\n\n getTitle(): string {\n return this.canvas.id.toString();\n }\n\n getWH(): { width: number; height: number } {\n return {\n width: this.canvas.width / (this.canvas.dpr || 1),\n height: this.canvas.height / (this.canvas.dpr || 1)\n };\n }\n\n getXY(): { x: number; y: number } {\n return { x: 0, y: 0 };\n }\n\n createWindow(params: IWindowParams): void {\n // 如果没有传入canvas,那么就创建一个canvas\n if (!params.canvas) {\n this.createWindowByConfig(params);\n } else {\n this.createWindowByCanvas(params);\n }\n }\n private createWindowByConfig(params: IWindowParams) {\n // 创建canvas\n const nativeCanvas = this.global.createCanvas({\n width: params.width,\n height: params.height\n });\n\n // 绑定\n const options = {\n width: params.width,\n height: params.height,\n dpr: params.dpr,\n nativeCanvas,\n id: Generator.GenAutoIncrementId().toString(),\n canvasControled: false\n };\n this.canvas = new TTCanvas(options);\n }\n private createWindowByCanvas(params: IWindowParams) {\n // 获取canvas\n let canvas: HTMLCanvasElement | null;\n if (typeof params.canvas === 'string') {\n canvas = this.global.getElementById(params.canvas) as HTMLCanvasElement | null;\n if (!canvas) {\n throw new Error('canvasId 参数不正确,请确认canvas存在并插入dom');\n }\n } else {\n canvas = params!.canvas as HTMLCanvasElement | null;\n }\n\n // 如果没有传入wh,或者是不受控制的canvas,那就用canvas的原始wh\n let width = params.width;\n let height = params.height;\n if (width == null || height == null || !params.canvasControled) {\n const data = canvas.getBoundingClientRect();\n width = data.width;\n height = data.height;\n }\n // 如果没有dpr,就使用canvas的原始dpr\n let dpr = params.dpr;\n if (dpr == null) {\n dpr = canvas.width / width;\n }\n this.canvas = new TTCanvas({\n width: width,\n height: height,\n dpr: dpr,\n nativeCanvas: canvas,\n canvasControled: params.canvasControled\n });\n }\n releaseWindow(): void {\n return;\n }\n resizeWindow(width: number, height: number): void {\n return;\n }\n setDpr(dpr: number): void {\n this.canvas.dpr = dpr;\n }\n\n getContext(): IContext2d {\n return this.canvas.getContext();\n }\n getNativeHandler(): ICanvas {\n return this.canvas;\n }\n getDpr(): number {\n return this.canvas.dpr;\n }\n\n addEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject): void {\n this.eventManager.addEventListener(type, listener);\n }\n removeEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject): void {\n this.eventManager.removeEventListener(type, listener);\n }\n dispatchEvent(event: any): boolean {\n const { type } = event;\n if (!this.eventManager.cache[type]) {\n return false;\n }\n\n // hack for offsetX offsetY\n if (event.changedTouches && event.changedTouches[0]) {\n event.offsetX = event.changedTouches[0].x;\n event.changedTouches[0].offsetX = event.changedTouches[0].x;\n event.changedTouches[0].clientX = event.changedTouches[0].x;\n event.offsetY = event.changedTouches[0].y;\n event.changedTouches[0].offsetY = event.changedTouches[0].y;\n event.changedTouches[0].clientY = event.changedTouches[0].y;\n }\n event.preventDefault = () => {\n return;\n };\n event.stopPropagation = () => {\n return;\n };\n if (this.eventManager.cache[type].listener) {\n this.eventManager.cache[type].listener.forEach((f: EventListener) => {\n f(event);\n });\n }\n return true;\n }\n\n getStyle(): CSSStyleDeclaration | Record<string, any> {\n return {};\n }\n setStyle(style: CSSStyleDeclaration | Record<string, any>) {\n return;\n }\n\n getBoundingClientRect(): IDomRectLike {\n const wh = this.getWH();\n return {\n x: 0,\n y: 0,\n width: wh.width,\n height: wh.height,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n }\n\n clearViewBox(color?: string): void {\n const vb = this.viewBox;\n const context = this.getContext();\n const dpr = this.getDpr();\n context.nativeContext.save();\n (context.nativeContext as CanvasRenderingContext2D).setTransform(dpr, 0, 0, dpr, 0, 0);\n context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n if (color) {\n context.fillStyle = color;\n context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n }\n context.nativeContext.restore();\n }\n}\n\nexport const ttWindowModule = new ContainerModule(bind => {\n // tt\n bind(TTWindowHandlerContribution).toSelf();\n bind(WindowHandlerContribution)\n .toDynamicValue(ctx => ctx.container.get(TTWindowHandlerContribution))\n .whenTargetNamed(TTWindowHandlerContribution.env);\n});\n"]}
@@ -68,5 +68,4 @@ export class CanvasWrapEnableWH {
68
68
  height: this._h
69
69
  };
70
70
  }
71
- }
72
- //# sourceMappingURL=canvas-wrap.js.map
71
+ }
@@ -108,4 +108,5 @@ let TaroEnvContribution = class extends BaseEnvContribution {
108
108
 
109
109
  TaroEnvContribution = __decorate([ injectable(), __metadata("design:paramtypes", []) ], TaroEnvContribution);
110
110
 
111
- export { TaroEnvContribution };
111
+ export { TaroEnvContribution };
112
+ //# sourceMappingURL=taro-contribution.js.map
@@ -0,0 +1,40 @@
1
+ import { BaseEnvContribution } from '@visactor/vrender-core';
2
+ import type { ICanvasLike, EnvType, ICreateCanvasParams, IEnvContribution, IGlobal, ITTCanvas } from '@visactor/vrender-core';
3
+ export declare class TTEnvContribution extends BaseEnvContribution implements IEnvContribution {
4
+ type: EnvType;
5
+ supportEvent: boolean;
6
+ canvasMap: Map<string, ITTCanvas>;
7
+ freeCanvasList: ITTCanvas[];
8
+ canvasIdx: number;
9
+ constructor();
10
+ configure(service: IGlobal, params: {
11
+ domref: any;
12
+ canvasIdLists: string[];
13
+ freeCanvasIdx: number;
14
+ component: any;
15
+ }): Promise<void>;
16
+ loadImage(url: string): Promise<{
17
+ loadState: 'success' | 'fail';
18
+ data: HTMLImageElement | ImageData | null;
19
+ }>;
20
+ loadSvg(url: string): Promise<{
21
+ loadState: 'success' | 'fail';
22
+ data: HTMLImageElement | ImageData | null;
23
+ }>;
24
+ createCanvas(params: ICreateCanvasParams): ITTCanvas;
25
+ createOffscreenCanvas(params: ICreateCanvasParams): void;
26
+ releaseCanvas(canvas: ICanvasLike | string): void;
27
+ getDevicePixelRatio(): number;
28
+ getRequestAnimationFrame(): (callback: FrameRequestCallback) => number;
29
+ getCancelAnimationFrame(): (h: number) => void;
30
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void;
31
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
32
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions | undefined): void;
33
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions | undefined): void;
34
+ dispatchEvent(event: any): boolean;
35
+ getElementById(str: string): any | null;
36
+ getRootElement(): HTMLElement | null;
37
+ getDocument(): Document | null;
38
+ release(...params: any): void;
39
+ mapToCanvasPoint(event: any): any;
40
+ }
@@ -0,0 +1,123 @@
1
+ var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
5
+ }, __metadata = this && this.__metadata || function(k, v) {
6
+ if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
7
+ }, __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
8
+ return new (P || (P = Promise))((function(resolve, reject) {
9
+ function fulfilled(value) {
10
+ try {
11
+ step(generator.next(value));
12
+ } catch (e) {
13
+ reject(e);
14
+ }
15
+ }
16
+ function rejected(value) {
17
+ try {
18
+ step(generator.throw(value));
19
+ } catch (e) {
20
+ reject(e);
21
+ }
22
+ }
23
+ function step(result) {
24
+ var value;
25
+ result.done ? resolve(result.value) : (value = result.value, value instanceof P ? value : new P((function(resolve) {
26
+ resolve(value);
27
+ }))).then(fulfilled, rejected);
28
+ }
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ }));
31
+ };
32
+
33
+ import { injectable, BaseEnvContribution, rafBasedSto } from "@visactor/vrender-core";
34
+
35
+ function makeUpCanvas(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCanvasList, component) {
36
+ return __awaiter(this, void 0, void 0, (function*() {
37
+ const dpr = tt.getSystemInfoSync().pixelRatio;
38
+ for (let i = 0; i < canvasIdLists.length; i++) {
39
+ const id = canvasIdLists[i];
40
+ yield new Promise((resolve => {
41
+ let data = tt.createSelectorQuery();
42
+ component && (data = data.in(component)), data.select(`#${id}`).node().exec((res => {
43
+ const canvas = res[0].node, width = canvas.width, height = canvas.height;
44
+ canvas.width = width * dpr, canvas.height = height * dpr, canvasMap.set(id, canvas),
45
+ i >= freeCanvasIdx && freeCanvasList.push(canvas), resolve(null);
46
+ }));
47
+ }));
48
+ }
49
+ }));
50
+ }
51
+
52
+ let TTEnvContribution = class extends BaseEnvContribution {
53
+ constructor() {
54
+ super(), this.type = "tt", this.supportEvent = !0, this.canvasMap = new Map, this.freeCanvasList = [],
55
+ this.canvasIdx = 0, this.supportsTouchEvents = !0;
56
+ try {
57
+ this.supportsPointerEvents = !!globalThis.PointerEvent, this.supportsMouseEvents = !!globalThis.MouseEvent;
58
+ } catch (err) {
59
+ this.supportsPointerEvents = !1, this.supportsMouseEvents = !1;
60
+ }
61
+ this.applyStyles = !0;
62
+ }
63
+ configure(service, params) {
64
+ if (service.env === this.type) return service.setActiveEnvContribution(this), makeUpCanvas(params.domref, params.canvasIdLists, this.canvasMap, params.freeCanvasIdx, this.freeCanvasList, params.component).then((() => {}));
65
+ }
66
+ loadImage(url) {
67
+ return Promise.resolve({
68
+ data: url,
69
+ loadState: "success"
70
+ });
71
+ }
72
+ loadSvg(url) {
73
+ return Promise.reject();
74
+ }
75
+ createCanvas(params) {
76
+ const result = this.freeCanvasList[this.canvasIdx] || this.freeCanvasList[this.freeCanvasList.length - 1];
77
+ return this.canvasIdx++, result;
78
+ }
79
+ createOffscreenCanvas(params) {}
80
+ releaseCanvas(canvas) {}
81
+ getDevicePixelRatio() {
82
+ return tt.getSystemInfoSync().pixelRatio;
83
+ }
84
+ getRequestAnimationFrame() {
85
+ return function(callback) {
86
+ return rafBasedSto.call(callback);
87
+ };
88
+ }
89
+ getCancelAnimationFrame() {
90
+ return h => {
91
+ rafBasedSto.clear(h);
92
+ };
93
+ }
94
+ addEventListener(type, listener, options) {
95
+ return null;
96
+ }
97
+ removeEventListener(type, listener, options) {
98
+ return null;
99
+ }
100
+ dispatchEvent(event) {
101
+ return null;
102
+ }
103
+ getElementById(str) {
104
+ return this.canvasMap.get(str);
105
+ }
106
+ getRootElement() {
107
+ return null;
108
+ }
109
+ getDocument() {
110
+ return null;
111
+ }
112
+ release(...params) {}
113
+ mapToCanvasPoint(event) {
114
+ var _a;
115
+ return null === (_a = null == event ? void 0 : event.type) || void 0 === _a || _a.startsWith("mouse"),
116
+ event;
117
+ }
118
+ };
119
+
120
+ TTEnvContribution = __decorate([ injectable(), __metadata("design:paramtypes", []) ], TTEnvContribution);
121
+
122
+ export { TTEnvContribution };
123
+ //# sourceMappingURL=tt-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/env/contributions/tt-contribution.ts"],"names":[],"mappings":"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","file":"tt-contribution.js","sourcesContent":["import { injectable, BaseEnvContribution, rafBasedSto } from '@visactor/vrender-core';\n// import { loadFeishuContributions } from '../../../kits';\nimport type {\n ICanvasLike,\n EnvType,\n ICreateCanvasParams,\n IEnvContribution,\n IGlobal,\n ITTCanvas\n} from '@visactor/vrender-core';\n\ndeclare const tt: {\n getSystemInfoSync: () => { pixelRatio: number };\n createSelectorQuery: () => any;\n};\n\n// 飞书小程序canvas的wrap\nasync function makeUpCanvas(\n domref: any,\n canvasIdLists: string[],\n canvasMap: Map<string, ITTCanvas>,\n freeCanvasIdx: number,\n freeCanvasList: ITTCanvas[],\n component: any\n) {\n const dpr = tt.getSystemInfoSync().pixelRatio;\n\n for (let i = 0; i < canvasIdLists.length; i++) {\n const id = canvasIdLists[i];\n await new Promise(resolve => {\n let data = tt.createSelectorQuery();\n if (component) {\n data = data.in(component);\n }\n // @ts-ignore\n data\n .select(`#${id}`) // 在 WXML 中填入的 id\n .node()\n .exec((res: any) => {\n const canvas = res[0].node;\n const width = canvas.width;\n const height = canvas.height;\n canvas.width = width * dpr;\n canvas.height = height * dpr;\n canvasMap.set(id, canvas);\n if (i >= freeCanvasIdx) {\n freeCanvasList.push(canvas);\n }\n resolve(null);\n });\n });\n }\n\n // canvasIdLists.forEach((id, i) => {\n // const ctx = wx.createCanvasContext(id);\n // // TODO: 这里是一个临时方案,向 ctx 内部构造一个 canvas,传递宽高\n // ctx.canvas = {\n // width: domref.width * dpr,\n // height: domref.height * dpr\n // };\n\n // // 放到内容里\n // // // TODO: 这里是一个临时方案,兼容 createCircularGradient 方法\n // // ctx.createRadialGradient = (...cc) => ctx.createCircularGradient(...cc);\n\n // // // 封装 getImageData 为 promise\n // // ctx.getImageData = (x, y, width, height) =>\n // // new Promise((resolve, reject) => {\n // // try {\n // // tt.canvasGetImageData({\n // // canvasId: item.id,\n // // x,\n // // y,\n // // width,\n // // height,\n // // success(res) {\n // // resolve(res);\n // // },\n // // });\n // // } catch (err) {\n // // reject(err);\n // // }\n // // });\n\n // const canvas = {\n // width: domref.width,\n // height: domref.height,\n // offsetWidth: domref.width,\n // offsetHeight: domref.height,\n // id: id ?? '',\n // getContext: () => ctx,\n // // 构造 getBoundingClientRect 方法\n // getBoundingClientRect: () => ({\n // height: domref.height,\n // width: domref.width\n // })\n // };\n\n // canvasMap.set(id, canvas);\n // if (i >= freeCanvasIdx) {\n // freeCanvasList.push(canvas);\n // }\n // });\n}\n\n@injectable()\nexport class TTEnvContribution extends BaseEnvContribution implements IEnvContribution {\n type: EnvType = 'tt';\n supportEvent: boolean = true;\n // 所有添加进来的canvas\n canvasMap: Map<string, ITTCanvas> = new Map();\n // 所有可用的canvasList\n freeCanvasList: ITTCanvas[] = [];\n canvasIdx: number = 0;\n\n constructor() {\n super();\n this.supportsTouchEvents = true;\n try {\n this.supportsPointerEvents = !!globalThis.PointerEvent;\n this.supportsMouseEvents = !!globalThis.MouseEvent;\n } catch (err) {\n this.supportsPointerEvents = false;\n this.supportsMouseEvents = false;\n }\n this.applyStyles = true;\n }\n\n // TODO:VGrammar在小程序环境会重复调用setEnv传入canvas,所以每次configure并不会释放\n // 这里等待后续和VGrammar沟通\n configure(service: IGlobal, params: { domref: any; canvasIdLists: string[]; freeCanvasIdx: number; component: any }) {\n if (service.env === this.type) {\n service.setActiveEnvContribution(this);\n return makeUpCanvas(\n params.domref,\n params.canvasIdLists,\n this.canvasMap,\n params.freeCanvasIdx,\n this.freeCanvasList,\n params.component\n ).then(() => {\n // loadFeishuContributions();\n });\n }\n }\n\n loadImage(url: string): Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | ImageData | null;\n }> {\n return Promise.resolve({\n data: url as unknown as HTMLImageElement,\n loadState: 'success'\n });\n }\n\n loadSvg(url: string): Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | ImageData | null;\n }> {\n // 飞书小组件不支持DOMParser和URL.createObjectURL,无法解析svg字符串,可以通过url使用svg资源\n return Promise.reject();\n }\n\n createCanvas(params: ICreateCanvasParams): ITTCanvas {\n const result = this.freeCanvasList[this.canvasIdx] || this.freeCanvasList[this.freeCanvasList.length - 1];\n this.canvasIdx++;\n return result;\n }\n\n createOffscreenCanvas(params: ICreateCanvasParams) {\n return;\n }\n\n releaseCanvas(canvas: ICanvasLike | string) {\n return;\n }\n\n getDevicePixelRatio(): number {\n return tt.getSystemInfoSync().pixelRatio;\n }\n\n getRequestAnimationFrame(): (callback: FrameRequestCallback) => number {\n // return requestAnimationFrame;\n\n // 飞书小组件,在云文档浏览器环境中,没有requestAnimationFrame\n // 但是在小组件工作台环境和模拟器中正常\n // 反馈飞书修改,目前先使用setTimeout模拟,进行测试,飞书修复后替换回requestAnimationFrame\n // return function (callback: FrameRequestCallback) {\n // return setTimeout(callback, 1000 / 60, true);\n // } as any;\n return function (callback: FrameRequestCallback) {\n return rafBasedSto.call(callback);\n } as any;\n }\n\n getCancelAnimationFrame(): (h: number) => void {\n return (h: number) => {\n rafBasedSto.clear(h);\n };\n }\n\n addEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions | undefined\n ): void;\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions | undefined\n ): void;\n addEventListener(type: unknown, listener: unknown, options?: unknown): void {\n return null;\n }\n\n removeEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions | undefined\n ): void;\n removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions | undefined\n ): void;\n removeEventListener(type: unknown, listener: unknown, options?: unknown): void {\n return null;\n }\n\n dispatchEvent(event: any): boolean {\n return null;\n }\n\n // 只能索引canvas\n getElementById(str: string): any | null {\n return this.canvasMap.get(str);\n }\n\n getRootElement(): HTMLElement | null {\n return null;\n }\n\n getDocument(): Document | null {\n return null;\n }\n\n release(...params: any): void {\n return;\n }\n\n mapToCanvasPoint(event: any) {\n if (event?.type?.startsWith('mouse')) {\n return event;\n }\n return event;\n }\n}\n"]}
package/es/env/index.d.ts CHANGED
@@ -5,3 +5,4 @@ export * from './lynx';
5
5
  export * from './node';
6
6
  export * from './taro';
7
7
  export * from './wx';
8
+ export * from './tt';
package/es/env/index.js CHANGED
@@ -11,4 +11,6 @@ export * from "./node";
11
11
  export * from "./taro";
12
12
 
13
13
  export * from "./wx";
14
+
15
+ export * from "./tt";
14
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/env/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC","file":"index.js","sourcesContent":["export * from './all';\nexport * from './browser';\nexport * from './feishu';\nexport * from './lynx';\nexport * from './node';\nexport * from './taro';\nexport * from './wx';\n"]}
1
+ {"version":3,"sources":["../src/env/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC;AACrB,cAAc,MAAM,CAAC","file":"index.js","sourcesContent":["export * from './all';\nexport * from './browser';\nexport * from './feishu';\nexport * from './lynx';\nexport * from './node';\nexport * from './taro';\nexport * from './wx';\nexport * from './tt';\n"]}
package/es/env/tt.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import { ContainerModule, type Container } from '@visactor/vrender-core';
2
+ export declare const ttEnvModule: ContainerModule;
3
+ export declare function loadTTEnv(container: Container, loadPicker?: boolean): void;
4
+ export declare namespace loadTTEnv {
5
+ var __loaded: boolean;
6
+ }
7
+ export declare function initTTEnv(): void;
package/es/env/tt.js ADDED
@@ -0,0 +1,28 @@
1
+ import { container, ContainerModule, EnvContribution } from "@visactor/vrender-core";
2
+
3
+ import { ttCanvasModule } from "../canvas/contributions/tt/modules";
4
+
5
+ import { ttWindowModule } from "../window/contributions/tt-contribution";
6
+
7
+ import { loadMathPicker } from "../picker/math-module";
8
+
9
+ import { TTEnvContribution } from "./contributions/tt-contribution";
10
+
11
+ export const ttEnvModule = new ContainerModule((bind => {
12
+ ttEnvModule.isTTBound || (ttEnvModule.isTTBound = !0, bind(TTEnvContribution).toSelf().inSingletonScope(),
13
+ bind(EnvContribution).toService(TTEnvContribution));
14
+ }));
15
+
16
+ ttEnvModule.isTTBound = !1;
17
+
18
+ export function loadTTEnv(container, loadPicker = !0) {
19
+ loadTTEnv.__loaded || (loadTTEnv.__loaded = !0, container.load(ttEnvModule), container.load(ttCanvasModule),
20
+ container.load(ttWindowModule), loadPicker && loadMathPicker(container));
21
+ }
22
+
23
+ loadTTEnv.__loaded = !1;
24
+
25
+ export function initTTEnv() {
26
+ loadTTEnv(container);
27
+ }
28
+ //# sourceMappingURL=tt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/env/tt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAkB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IAEpD,IAAI,CAAE,WAAmB,CAAC,SAAS,EAAE;QAClC,WAAmB,CAAC,SAAS,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACpD,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;KACpD;AACH,CAAC,CAAC,CAAC;AAEF,WAAmB,CAAC,SAAS,GAAG,KAAK,CAAC;AAEvC,MAAM,UAAU,SAAS,CAAC,SAAoB,EAAE,aAAsB,IAAI;IACxE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;QACvB,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/B,UAAU,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;KACzC;AACH,CAAC;AAED,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC;AAE3B,MAAM,UAAU,SAAS;IACvB,SAAS,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC","file":"tt.js","sourcesContent":["import { container, ContainerModule, type Container, EnvContribution } from '@visactor/vrender-core';\nimport { ttCanvasModule } from '../canvas/contributions/tt/modules';\nimport { ttWindowModule } from '../window/contributions/tt-contribution';\nimport { loadMathPicker } from '../picker/math-module';\nimport { TTEnvContribution } from './contributions/tt-contribution';\n\nexport const ttEnvModule = new ContainerModule(bind => {\n // feishu\n if (!(ttEnvModule as any).isTTBound) {\n (ttEnvModule as any).isTTBound = true;\n bind(TTEnvContribution).toSelf().inSingletonScope();\n bind(EnvContribution).toService(TTEnvContribution);\n }\n});\n\n(ttEnvModule as any).isTTBound = false;\n\nexport function loadTTEnv(container: Container, loadPicker: boolean = true) {\n if (!loadTTEnv.__loaded) {\n loadTTEnv.__loaded = true;\n container.load(ttEnvModule);\n container.load(ttCanvasModule);\n container.load(ttWindowModule);\n loadPicker && loadMathPicker(container);\n }\n}\n\nloadTTEnv.__loaded = false;\n\nexport function initTTEnv() {\n loadTTEnv(container);\n}\n"]}
package/es/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export declare const roughModule: import("@visactor/vrender-core").ContainerModule;
2
+ export * from './picker/contributions/constants';
2
3
  export * from './jsx';
3
4
  export * from './react-tree';
4
5
  export * from './event/extension';
package/es/index.js CHANGED
@@ -2,6 +2,8 @@ import _roughModule from "./render/contributions/rough/module";
2
2
 
3
3
  export const roughModule = _roughModule;
4
4
 
5
+ export * from "./picker/contributions/constants";
6
+
5
7
  export * from "./jsx";
6
8
 
7
9
  export * from "./react-tree";
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAG/D,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AAExC,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAElC,cAAc,OAAO,CAAC;AACtB,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAE9D,cAAc,kDAAkD,CAAC;AACjE,cAAc,gDAAgD,CAAC;AAE/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,gDAAgD,CAAC;AAE/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,gDAAgD,CAAC;AAE/D,cAAc,oDAAoD,CAAC;AACnE,cAAc,kDAAkD,CAAC;AAEjE,cAAc,oDAAoD,CAAC;AACnE,cAAc,kDAAkD,CAAC;AAEjE,cAAc,kDAAkD,CAAC;AACjE,cAAc,gDAAgD,CAAC;AAE/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,gDAAgD,CAAC;AAE/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAElE,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAEhE,cAAc,sDAAsD,CAAC;AACrE,cAAc,oDAAoD,CAAC;AAEnE,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAEhE,cAAc,oDAAoD,CAAC;AAEnE,cAAc,mDAAmD,CAAC;AAElE,cAAc,uDAAuD,CAAC;AAEtE,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC","file":"index.js","sourcesContent":["import _roughModule from './render/contributions/rough/module';\n// import _canvasModuleLoader from './canvas/contributions/canvas-module';\n\nexport const roughModule = _roughModule;\n\nexport * from './jsx';\nexport * from './react-tree';\nexport * from './event/extension';\n// export * from './env/browser';\nexport * from './env';\nexport * from './picker/contributions/canvas-picker/arc-module';\nexport * from './picker/contributions/math-picker/arc-module';\n\nexport * from './picker/contributions/canvas-picker/rect-module';\nexport * from './picker/contributions/math-picker/rect-module';\n\nexport * from './picker/contributions/canvas-picker/line-module';\nexport * from './picker/contributions/math-picker/line-module';\n\nexport * from './picker/contributions/canvas-picker/area-module';\nexport * from './picker/contributions/math-picker/area-module';\n\nexport * from './picker/contributions/canvas-picker/symbol-module';\nexport * from './picker/contributions/math-picker/symbol-module';\n\nexport * from './picker/contributions/canvas-picker/circle-module';\nexport * from './picker/contributions/math-picker/circle-module';\n\nexport * from './picker/contributions/canvas-picker/text-module';\nexport * from './picker/contributions/math-picker/text-module';\n\nexport * from './picker/contributions/canvas-picker/path-module';\nexport * from './picker/contributions/math-picker/path-module';\n\nexport * from './picker/contributions/canvas-picker/polygon-module';\nexport * from './picker/contributions/math-picker/polygon-module';\n\nexport * from './picker/contributions/canvas-picker/glyph-module';\nexport * from './picker/contributions/math-picker/glyph-module';\n\nexport * from './picker/contributions/canvas-picker/richtext-module';\nexport * from './picker/contributions/math-picker/richtext-module';\n\nexport * from './picker/contributions/canvas-picker/image-module';\nexport * from './picker/contributions/math-picker/image-module';\n\nexport * from './picker/contributions/canvas-picker/rect3d-module';\n\nexport * from './picker/contributions/canvas-picker/arc3d-module';\n\nexport * from './picker/contributions/canvas-picker/pyramid3d-module';\n\nexport * from './register/register-arc';\nexport * from './register/register-arc3d';\nexport * from './register/register-area';\nexport * from './register/register-circle';\nexport * from './register/register-glyph';\nexport * from './register/register-group';\nexport * from './register/register-image';\nexport * from './register/register-line';\nexport * from './register/register-path';\nexport * from './register/register-polygon';\nexport * from './register/register-pyramid3d';\nexport * from './register/register-rect';\nexport * from './register/register-rect3d';\nexport * from './register/register-richtext';\nexport * from './register/register-shadowRoot';\nexport * from './register/register-symbol';\nexport * from './register/register-text';\nexport * from './register/register-wraptext';\n// export const canvasModuleLoader = _canvasModuleLoader;\n// export { nodeLoader } from './node-bind'; // nodeLoader只在node入口暴露\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAG/D,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AACxC,cAAc,kCAAkC,CAAC;AAEjD,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAElC,cAAc,OAAO,CAAC;AACtB,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAE9D,cAAc,kDAAkD,CAAC;AACjE,cAAc,gDAAgD,CAAC;AAE/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,gDAAgD,CAAC;AAE/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,gDAAgD,CAAC;AAE/D,cAAc,oDAAoD,CAAC;AACnE,cAAc,kDAAkD,CAAC;AAEjE,cAAc,oDAAoD,CAAC;AACnE,cAAc,kDAAkD,CAAC;AAEjE,cAAc,kDAAkD,CAAC;AACjE,cAAc,gDAAgD,CAAC;AAE/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,gDAAgD,CAAC;AAE/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAElE,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAEhE,cAAc,sDAAsD,CAAC;AACrE,cAAc,oDAAoD,CAAC;AAEnE,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAEhE,cAAc,oDAAoD,CAAC;AAEnE,cAAc,mDAAmD,CAAC;AAElE,cAAc,uDAAuD,CAAC;AAEtE,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC","file":"index.js","sourcesContent":["import _roughModule from './render/contributions/rough/module';\n// import _canvasModuleLoader from './canvas/contributions/canvas-module';\n\nexport const roughModule = _roughModule;\nexport * from './picker/contributions/constants';\n\nexport * from './jsx';\nexport * from './react-tree';\nexport * from './event/extension';\n// export * from './env/browser';\nexport * from './env';\nexport * from './picker/contributions/canvas-picker/arc-module';\nexport * from './picker/contributions/math-picker/arc-module';\n\nexport * from './picker/contributions/canvas-picker/rect-module';\nexport * from './picker/contributions/math-picker/rect-module';\n\nexport * from './picker/contributions/canvas-picker/line-module';\nexport * from './picker/contributions/math-picker/line-module';\n\nexport * from './picker/contributions/canvas-picker/area-module';\nexport * from './picker/contributions/math-picker/area-module';\n\nexport * from './picker/contributions/canvas-picker/symbol-module';\nexport * from './picker/contributions/math-picker/symbol-module';\n\nexport * from './picker/contributions/canvas-picker/circle-module';\nexport * from './picker/contributions/math-picker/circle-module';\n\nexport * from './picker/contributions/canvas-picker/text-module';\nexport * from './picker/contributions/math-picker/text-module';\n\nexport * from './picker/contributions/canvas-picker/path-module';\nexport * from './picker/contributions/math-picker/path-module';\n\nexport * from './picker/contributions/canvas-picker/polygon-module';\nexport * from './picker/contributions/math-picker/polygon-module';\n\nexport * from './picker/contributions/canvas-picker/glyph-module';\nexport * from './picker/contributions/math-picker/glyph-module';\n\nexport * from './picker/contributions/canvas-picker/richtext-module';\nexport * from './picker/contributions/math-picker/richtext-module';\n\nexport * from './picker/contributions/canvas-picker/image-module';\nexport * from './picker/contributions/math-picker/image-module';\n\nexport * from './picker/contributions/canvas-picker/rect3d-module';\n\nexport * from './picker/contributions/canvas-picker/arc3d-module';\n\nexport * from './picker/contributions/canvas-picker/pyramid3d-module';\n\nexport * from './register/register-arc';\nexport * from './register/register-arc3d';\nexport * from './register/register-area';\nexport * from './register/register-circle';\nexport * from './register/register-glyph';\nexport * from './register/register-group';\nexport * from './register/register-image';\nexport * from './register/register-line';\nexport * from './register/register-path';\nexport * from './register/register-polygon';\nexport * from './register/register-pyramid3d';\nexport * from './register/register-rect';\nexport * from './register/register-rect3d';\nexport * from './register/register-richtext';\nexport * from './register/register-shadowRoot';\nexport * from './register/register-symbol';\nexport * from './register/register-text';\nexport * from './register/register-wraptext';\n// export const canvasModuleLoader = _canvasModuleLoader;\n// export { nodeLoader } from './node-bind'; // nodeLoader只在node入口暴露\n"]}
@@ -52,5 +52,4 @@ function parseToGraphic(g, childrenList, props) {
52
52
  }))) : "richtext" === g.type && (g.attribute.textConfig = childrenList.map((item => item.attribute)).filter((item => item)));
53
53
  }
54
54
 
55
- export const Fragment = Group;
56
- //# sourceMappingURL=jsx-classic.js.map
55
+ export const Fragment = Group;
@@ -11,4 +11,5 @@ export const canvasPickerModule = new ContainerModule(((bind, unbind, isBound, r
11
11
 
12
12
  export function loadCanvasPicker(c) {
13
13
  c.load(canvasModule), c.load(canvasPickerModule);
14
- }
14
+ }
15
+ //# sourceMappingURL=canvas-module.js.map
@@ -42,8 +42,9 @@ let DefaultCanvasPickerService = class extends DefaultPickService {
42
42
  }
43
43
  const picker = this.pickerMap.get(graphic.numberType);
44
44
  if (!picker) return null;
45
- const g = picker.contains(graphic, point, params) ? graphic : null, data = {
46
- graphic: g
45
+ const pd = picker.contains(graphic, point, params), g = pd ? graphic : null, data = {
46
+ graphic: g,
47
+ params: pd
47
48
  };
48
49
  if (g) return data;
49
50
  if (this.InterceptorContributions.length) for (let i = 0; i < this.InterceptorContributions.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/picker/canvas-picker-service.ts"],"names":[],"mappings":"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","file":"canvas-picker-service.js","sourcesContent":["import type { IMatrix, IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line\nimport {\n ContributionProvider,\n inject,\n injectable,\n named,\n DefaultPickService,\n DrawContribution,\n PickItemInterceptor,\n canvasAllocate,\n application\n} from '@visactor/vrender-core';\nimport type {\n ICanvas,\n IContext2d,\n IGraphic,\n EnvType,\n IGlobal,\n IGraphicPicker,\n IPickerService,\n IDrawContribution,\n IContributionProvider,\n IPickItemInterceptorContribution,\n IPickParams,\n PickResult\n} from '@visactor/vrender-core';\nimport {\n CanvasArcPicker,\n CanvasAreaPicker,\n CanvasCirclePicker,\n CanvasImagePicker,\n CanvasLinePicker,\n CanvasPathPicker,\n CanvasPickerContribution,\n CanvasPolygonPicker,\n CanvasRectPicker,\n CanvasSymbolPicker,\n CanvasTextPicker,\n CanvasRichTextPicker\n} from './contributions/constants';\n\n// 默认的pick-service,提供基本的最优选中策略,尽量不需要用户自己实现contribution\n// 用户可以写plugin\n@injectable()\nexport class DefaultCanvasPickerService extends DefaultPickService implements IPickerService {\n declare type: 'default';\n // pcik canvas\n declare pickCanvas: ICanvas;\n declare pickContext: IContext2d;\n declare pickerMap: Map<number, IGraphicPicker>;\n\n constructor(\n @inject(ContributionProvider)\n @named(CanvasPickerContribution)\n protected readonly contributions: IContributionProvider<IGraphicPicker>,\n\n @inject(DrawContribution)\n public readonly drawContribution: IDrawContribution,\n // 拦截器\n @inject(ContributionProvider)\n @named(PickItemInterceptor)\n protected readonly pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>\n ) {\n super(pickItemInterceptorContributions);\n this.global.hooks.onSetEnv.tap('canvas-picker-service', (_, env, global) => {\n this.configure(global, env);\n });\n this.configure(this.global, this.global.env);\n this.pickerMap = new Map();\n this.init();\n }\n\n init() {\n this.contributions.getContributions().forEach(item => {\n this.pickerMap.set(item.numberType, item);\n });\n super._init();\n }\n\n configure(global: IGlobal, env: EnvType) {\n // if (!this.global.env) return;\n // this.contributions.getContributions().forEach(handlerContribution => {\n // handlerContribution.configure(this, this.global);\n // });\n\n // 创建pick canvas\n this.pickCanvas = canvasAllocate.shareCanvas();\n this.pickContext = this.pickCanvas.getContext('2d');\n }\n\n // todo: switch统一改为数字map\n pickItem(graphic: IGraphic, point: IPointLike, parentMatrix: IMatrix | null, params: IPickParams): PickResult | null {\n if (graphic.attribute.pickable === false) {\n return null;\n }\n // 添加拦截器\n if (this.InterceptorContributions.length) {\n for (let i = 0; i < this.InterceptorContributions.length; i++) {\n const drawContribution = this.InterceptorContributions[i];\n if (drawContribution.beforePickItem) {\n const ret = drawContribution.beforePickItem(graphic, this, point, params, { parentMatrix });\n if (ret) {\n return ret;\n }\n }\n }\n }\n const picker = this.pickerMap.get(graphic.numberType);\n if (!picker) {\n return null;\n }\n const g = picker.contains(graphic, point, params) ? graphic : null;\n\n const data = {\n graphic: g\n };\n if (g) {\n return data;\n }\n // 添加拦截器\n if (this.InterceptorContributions.length) {\n for (let i = 0; i < this.InterceptorContributions.length; i++) {\n const drawContribution = this.InterceptorContributions[i];\n if (drawContribution.afterPickItem) {\n const ret = drawContribution.afterPickItem(graphic, this, point, params, { parentMatrix });\n if (ret) {\n return ret;\n }\n }\n }\n }\n return data;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/picker/canvas-picker-service.ts"],"names":[],"mappings":"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","file":"canvas-picker-service.js","sourcesContent":["import type { IMatrix, IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line\nimport {\n ContributionProvider,\n inject,\n injectable,\n named,\n DefaultPickService,\n DrawContribution,\n PickItemInterceptor,\n canvasAllocate,\n application\n} from '@visactor/vrender-core';\nimport type {\n ICanvas,\n IContext2d,\n IGraphic,\n EnvType,\n IGlobal,\n IGraphicPicker,\n IPickerService,\n IDrawContribution,\n IContributionProvider,\n IPickItemInterceptorContribution,\n IPickParams,\n PickResult\n} from '@visactor/vrender-core';\nimport {\n CanvasArcPicker,\n CanvasAreaPicker,\n CanvasCirclePicker,\n CanvasImagePicker,\n CanvasLinePicker,\n CanvasPathPicker,\n CanvasPickerContribution,\n CanvasPolygonPicker,\n CanvasRectPicker,\n CanvasSymbolPicker,\n CanvasTextPicker,\n CanvasRichTextPicker\n} from './contributions/constants';\n\n// 默认的pick-service,提供基本的最优选中策略,尽量不需要用户自己实现contribution\n// 用户可以写plugin\n@injectable()\nexport class DefaultCanvasPickerService extends DefaultPickService implements IPickerService {\n declare type: 'default';\n // pcik canvas\n declare pickCanvas: ICanvas;\n declare pickContext: IContext2d;\n declare pickerMap: Map<number, IGraphicPicker>;\n\n constructor(\n @inject(ContributionProvider)\n @named(CanvasPickerContribution)\n protected readonly contributions: IContributionProvider<IGraphicPicker>,\n\n @inject(DrawContribution)\n public readonly drawContribution: IDrawContribution,\n // 拦截器\n @inject(ContributionProvider)\n @named(PickItemInterceptor)\n protected readonly pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>\n ) {\n super(pickItemInterceptorContributions);\n this.global.hooks.onSetEnv.tap('canvas-picker-service', (_, env, global) => {\n this.configure(global, env);\n });\n this.configure(this.global, this.global.env);\n this.pickerMap = new Map();\n this.init();\n }\n\n init() {\n this.contributions.getContributions().forEach(item => {\n this.pickerMap.set(item.numberType, item);\n });\n super._init();\n }\n\n configure(global: IGlobal, env: EnvType) {\n // if (!this.global.env) return;\n // this.contributions.getContributions().forEach(handlerContribution => {\n // handlerContribution.configure(this, this.global);\n // });\n\n // 创建pick canvas\n this.pickCanvas = canvasAllocate.shareCanvas();\n this.pickContext = this.pickCanvas.getContext('2d');\n }\n\n // todo: switch统一改为数字map\n pickItem(graphic: IGraphic, point: IPointLike, parentMatrix: IMatrix | null, params: IPickParams): PickResult | null {\n if (graphic.attribute.pickable === false) {\n return null;\n }\n // 添加拦截器\n if (this.InterceptorContributions.length) {\n for (let i = 0; i < this.InterceptorContributions.length; i++) {\n const drawContribution = this.InterceptorContributions[i];\n if (drawContribution.beforePickItem) {\n const ret = drawContribution.beforePickItem(graphic, this, point, params, { parentMatrix });\n if (ret) {\n return ret;\n }\n }\n }\n }\n const picker = this.pickerMap.get(graphic.numberType);\n if (!picker) {\n return null;\n }\n const pd = picker.contains(graphic, point, params);\n const g = pd ? graphic : null;\n\n const data = {\n graphic: g,\n params: pd\n };\n if (g) {\n return data;\n }\n // 添加拦截器\n if (this.InterceptorContributions.length) {\n for (let i = 0; i < this.InterceptorContributions.length; i++) {\n const drawContribution = this.InterceptorContributions[i];\n if (drawContribution.afterPickItem) {\n const ret = drawContribution.afterPickItem(graphic, this, point, params, { parentMatrix });\n if (ret) {\n return ret;\n }\n }\n }\n }\n return data;\n }\n}\n"]}
@@ -55,4 +55,4 @@ export const CanvasGlyphPicker = Symbol.for("CanvasGlyphPicker");
55
55
  export const CanvasGroupPicker = Symbol.for("CanvasGroupPicker");
56
56
 
57
57
  export const CanvasPickerContribution = Symbol.for("CanvasPickerContribution");
58
- //# sourceMappingURL=constants.js.map
58
+ //# sourceMappingURL=constants.js.map
@@ -33,9 +33,10 @@ let DefaultMathPickerService = class extends DefaultPickService {
33
33
  if (!1 === graphic.attribute.pickable) return null;
34
34
  const picker = this.pickerMap.get(graphic.numberType);
35
35
  if (!picker) return null;
36
- const g = picker.contains(graphic, point, params) ? graphic : null;
36
+ const pd = picker.contains(graphic, point, params), g = pd ? graphic : null;
37
37
  return g ? {
38
- graphic: g
38
+ graphic: g,
39
+ params: pd
39
40
  } : null;
40
41
  }
41
42
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/picker/math-picker-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,OAAO,EACL,oBAAoB,EACpB,MAAM,EACN,UAAU,EACV,KAAK,EACL,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAchC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAK5D,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,kBAAkB;IAO9D,YAGqB,aAAoD,EAIpD,gCAAyF;QAE5G,KAAK,CAAC,gCAAgC,CAAC,CAAC;QANrB,kBAAa,GAAb,aAAa,CAAuC;QAIpD,qCAAgC,GAAhC,gCAAgC,CAAyD;QAG5G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YAC7E,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,IAAI;QACF,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAe,EAAE,GAAY;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAGD,QAAQ,CACN,OAAiB,EACjB,KAAiB,EACjB,YAA4B,EAC5B,MAAoB;QAEpB,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE;YACxC,OAAO,IAAI,CAAC;SACb;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC;SACb;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,IAAI,CAAC,EAAE;YACL,OAAO;gBACL,OAAO,EAAE,CAAC;aACX,CAAC;SACH;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA1DY,wBAAwB;IADpC,UAAU,EAAE;IASR,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC5B,WAAA,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAG7B,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC5B,WAAA,KAAK,CAAC,mBAAmB,CAAC,CAAA;;GAblB,wBAAwB,CA0DpC;SA1DY,wBAAwB","file":"math-picker-service.js","sourcesContent":["import type { IMatrix, IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line\nimport {\n ContributionProvider,\n inject,\n injectable,\n named,\n DefaultPickService,\n EmptyContext2d,\n PickItemInterceptor\n} from '@visactor/vrender-core';\nimport type {\n ICanvas,\n IContext2d,\n IGraphic,\n EnvType,\n IGlobal,\n IGraphicPicker,\n IPickerService,\n IContributionProvider,\n IPickItemInterceptorContribution,\n IPickParams,\n PickResult\n} from '@visactor/vrender-core';\nimport { MathPickerContribution } from './contributions/constants';\n\n// 默认的pick-service,提供基本的最优选中策略,尽量不需要用户自己实现contribution\n// 用户可以写plugin\n@injectable()\nexport class DefaultMathPickerService extends DefaultPickService implements IPickerService {\n declare type: 'default';\n // pcik canvas\n declare pickCanvas: ICanvas;\n declare pickContext: IContext2d;\n declare pickerMap: Map<number, IGraphicPicker>;\n\n constructor(\n @inject(ContributionProvider)\n @named(MathPickerContribution)\n protected readonly contributions: IContributionProvider<IGraphicPicker>,\n // 拦截器\n @inject(ContributionProvider)\n @named(PickItemInterceptor)\n protected readonly pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>\n ) {\n super(pickItemInterceptorContributions);\n this.global.hooks.onSetEnv.tap('math-picker-service', (lastEnv, env, global) => {\n this.configure(global, env);\n });\n this.configure(this.global, this.global.env);\n this.pickerMap = new Map();\n this.init();\n }\n\n init() {\n this.contributions.getContributions().forEach(item => {\n this.pickerMap.set(item.numberType, item);\n });\n super._init();\n }\n\n configure(global: IGlobal, env: EnvType) {\n this.pickContext = new EmptyContext2d(null, 1);\n }\n\n // todo: switch统一改为数字map\n pickItem(\n graphic: IGraphic,\n point: IPointLike,\n parentMatrix: IMatrix | null,\n params?: IPickParams\n ): PickResult | null {\n if (graphic.attribute.pickable === false) {\n return null;\n }\n const picker = this.pickerMap.get(graphic.numberType);\n if (!picker) {\n return null;\n }\n const g = picker.contains(graphic, point, params) ? graphic : null;\n if (g) {\n return {\n graphic: g\n };\n }\n return null;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/picker/math-picker-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,OAAO,EACL,oBAAoB,EACpB,MAAM,EACN,UAAU,EACV,KAAK,EACL,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAchC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAK5D,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,kBAAkB;IAO9D,YAGqB,aAAoD,EAIpD,gCAAyF;QAE5G,KAAK,CAAC,gCAAgC,CAAC,CAAC;QANrB,kBAAa,GAAb,aAAa,CAAuC;QAIpD,qCAAgC,GAAhC,gCAAgC,CAAyD;QAG5G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YAC7E,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,IAAI;QACF,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAe,EAAE,GAAY;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAGD,QAAQ,CACN,OAAiB,EACjB,KAAiB,EACjB,YAA4B,EAC5B,MAAoB;QAEpB,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE;YACxC,OAAO,IAAI,CAAC;SACb;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC;SACb;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,EAAE;YACL,OAAO;gBACL,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,EAAE;aACX,CAAC;SACH;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA5DY,wBAAwB;IADpC,UAAU,EAAE;IASR,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC5B,WAAA,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAG7B,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC5B,WAAA,KAAK,CAAC,mBAAmB,CAAC,CAAA;;GAblB,wBAAwB,CA4DpC;SA5DY,wBAAwB","file":"math-picker-service.js","sourcesContent":["import type { IMatrix, IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line\nimport {\n ContributionProvider,\n inject,\n injectable,\n named,\n DefaultPickService,\n EmptyContext2d,\n PickItemInterceptor\n} from '@visactor/vrender-core';\nimport type {\n ICanvas,\n IContext2d,\n IGraphic,\n EnvType,\n IGlobal,\n IGraphicPicker,\n IPickerService,\n IContributionProvider,\n IPickItemInterceptorContribution,\n IPickParams,\n PickResult\n} from '@visactor/vrender-core';\nimport { MathPickerContribution } from './contributions/constants';\n\n// 默认的pick-service,提供基本的最优选中策略,尽量不需要用户自己实现contribution\n// 用户可以写plugin\n@injectable()\nexport class DefaultMathPickerService extends DefaultPickService implements IPickerService {\n declare type: 'default';\n // pcik canvas\n declare pickCanvas: ICanvas;\n declare pickContext: IContext2d;\n declare pickerMap: Map<number, IGraphicPicker>;\n\n constructor(\n @inject(ContributionProvider)\n @named(MathPickerContribution)\n protected readonly contributions: IContributionProvider<IGraphicPicker>,\n // 拦截器\n @inject(ContributionProvider)\n @named(PickItemInterceptor)\n protected readonly pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>\n ) {\n super(pickItemInterceptorContributions);\n this.global.hooks.onSetEnv.tap('math-picker-service', (lastEnv, env, global) => {\n this.configure(global, env);\n });\n this.configure(this.global, this.global.env);\n this.pickerMap = new Map();\n this.init();\n }\n\n init() {\n this.contributions.getContributions().forEach(item => {\n this.pickerMap.set(item.numberType, item);\n });\n super._init();\n }\n\n configure(global: IGlobal, env: EnvType) {\n this.pickContext = new EmptyContext2d(null, 1);\n }\n\n // todo: switch统一改为数字map\n pickItem(\n graphic: IGraphic,\n point: IPointLike,\n parentMatrix: IMatrix | null,\n params?: IPickParams\n ): PickResult | null {\n if (graphic.attribute.pickable === false) {\n return null;\n }\n const picker = this.pickerMap.get(graphic.numberType);\n if (!picker) {\n return null;\n }\n const pd = picker.contains(graphic, point, params);\n const g = pd ? graphic : null;\n if (g) {\n return {\n graphic: g,\n params: pd\n };\n }\n return null;\n }\n}\n"]}
@@ -13,5 +13,4 @@ function _registerPolygon() {
13
13
 
14
14
  _registerPolygon.__loaded = !1;
15
15
 
16
- export const registerPolygon = _registerPolygon;
17
- //# sourceMappingURL=register-polygon.js.map
16
+ export const registerPolygon = _registerPolygon;