@visactor/vrender-kits 0.16.0-alpha.0 → 0.16.0-alpha.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 (115) hide show
  1. package/cjs/canvas/contributions/browser/canvas.js +1 -1
  2. package/cjs/canvas/contributions/browser/context.d.ts +1 -0
  3. package/cjs/canvas/contributions/browser/context.js +1 -1
  4. package/cjs/canvas/contributions/browser/index.js +1 -1
  5. package/cjs/canvas/contributions/browser/modules.js +1 -1
  6. package/cjs/canvas/contributions/feishu/canvas.js +1 -1
  7. package/cjs/canvas/contributions/feishu/context.js +1 -1
  8. package/cjs/canvas/contributions/feishu/index.js +1 -1
  9. package/cjs/canvas/contributions/feishu/modules.js +1 -1
  10. package/cjs/canvas/contributions/lynx/canvas.js +1 -1
  11. package/cjs/canvas/contributions/lynx/context.js +1 -1
  12. package/cjs/canvas/contributions/lynx/index.js +1 -1
  13. package/cjs/canvas/contributions/lynx/modules.js +1 -1
  14. package/cjs/canvas/contributions/node/canvas.js +2 -1
  15. package/cjs/canvas/contributions/node/context.js +1 -1
  16. package/cjs/canvas/contributions/node/index.js +1 -1
  17. package/cjs/canvas/contributions/node/modules.js +1 -1
  18. package/cjs/canvas/contributions/taro/canvas.js +1 -1
  19. package/cjs/canvas/contributions/taro/context.js +1 -1
  20. package/cjs/canvas/contributions/taro/index.js +1 -1
  21. package/cjs/canvas/contributions/taro/modules.js +1 -1
  22. package/cjs/env/contributions/browser-contribution.js +2 -1
  23. package/cjs/env/contributions/module.js +1 -2
  24. package/cjs/env/modules.d.ts +9 -1
  25. package/cjs/env/modules.js +46 -11
  26. package/cjs/env/modules.js.map +1 -1
  27. package/cjs/event/extension/gesture.js +1 -2
  28. package/cjs/picker/canvas-picker-service.d.ts +2 -2
  29. package/cjs/picker/canvas-picker-service.js +6 -4
  30. package/cjs/picker/canvas-picker-service.js.map +1 -1
  31. package/cjs/picker/contributions/canvas-picker/arc-picker.js +1 -1
  32. package/cjs/picker/contributions/canvas-picker/arc3d-picker.js +1 -1
  33. package/cjs/picker/contributions/canvas-picker/area-picker.js +1 -1
  34. package/cjs/picker/contributions/canvas-picker/base-picker.js +1 -1
  35. package/cjs/picker/contributions/canvas-picker/circle-picker.js +1 -1
  36. package/cjs/picker/contributions/canvas-picker/glyph-picker.js +4 -2
  37. package/cjs/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
  38. package/cjs/picker/contributions/canvas-picker/group-picker.js +1 -1
  39. package/cjs/picker/contributions/canvas-picker/image-picker.js +1 -1
  40. package/cjs/picker/contributions/canvas-picker/line-picker.js +1 -1
  41. package/cjs/picker/contributions/canvas-picker/module.js +1 -1
  42. package/cjs/picker/contributions/canvas-picker/path-picker.js +1 -1
  43. package/cjs/picker/contributions/canvas-picker/polygon-picker.js +1 -1
  44. package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js +1 -2
  45. package/cjs/picker/contributions/canvas-picker/rect-picker.js +3 -3
  46. package/cjs/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
  47. package/cjs/picker/contributions/canvas-picker/rect3d-picker.js +1 -1
  48. package/cjs/picker/contributions/canvas-picker/richtext-picker.js +1 -1
  49. package/cjs/picker/contributions/canvas-picker/symbol-picker.js +1 -1
  50. package/cjs/picker/contributions/canvas-picker/text-picker.js +1 -1
  51. package/cjs/picker/contributions/math-picker/arc-picker.js +1 -1
  52. package/cjs/picker/contributions/math-picker/area-picker.js +1 -1
  53. package/cjs/picker/math-picker-service.d.ts +2 -2
  54. package/cjs/picker/math-picker-service.js +5 -1
  55. package/cjs/picker/math-picker-service.js.map +1 -1
  56. package/cjs/window/contributions/native-contribution.js +0 -2
  57. package/dist/index.js +152 -56
  58. package/dist/index.min.js +1 -1
  59. package/es/canvas/contributions/browser/canvas.js +1 -1
  60. package/es/canvas/contributions/browser/context.d.ts +1 -0
  61. package/es/canvas/contributions/browser/context.js +1 -1
  62. package/es/canvas/contributions/browser/index.js +1 -1
  63. package/es/canvas/contributions/browser/modules.js +1 -1
  64. package/es/canvas/contributions/feishu/canvas.js +1 -1
  65. package/es/canvas/contributions/feishu/context.js +1 -1
  66. package/es/canvas/contributions/feishu/index.js +1 -1
  67. package/es/canvas/contributions/feishu/modules.js +1 -1
  68. package/es/canvas/contributions/lynx/canvas.js +1 -1
  69. package/es/canvas/contributions/lynx/context.js +1 -1
  70. package/es/canvas/contributions/lynx/index.js +1 -1
  71. package/es/canvas/contributions/lynx/modules.js +1 -1
  72. package/es/canvas/contributions/node/canvas.js +2 -1
  73. package/es/canvas/contributions/node/context.js +1 -1
  74. package/es/canvas/contributions/node/index.js +1 -1
  75. package/es/canvas/contributions/node/modules.js +1 -1
  76. package/es/canvas/contributions/taro/canvas.js +1 -1
  77. package/es/canvas/contributions/taro/context.js +1 -1
  78. package/es/canvas/contributions/taro/index.js +1 -1
  79. package/es/canvas/contributions/taro/modules.js +1 -1
  80. package/es/env/contributions/browser-contribution.js +2 -1
  81. package/es/env/contributions/module.js +1 -2
  82. package/es/env/modules.d.ts +9 -1
  83. package/es/env/modules.js +50 -7
  84. package/es/env/modules.js.map +1 -1
  85. package/es/event/extension/gesture.js +1 -2
  86. package/es/picker/canvas-picker-service.d.ts +2 -2
  87. package/es/picker/canvas-picker-service.js +6 -4
  88. package/es/picker/canvas-picker-service.js.map +1 -1
  89. package/es/picker/contributions/canvas-picker/arc-picker.js +1 -1
  90. package/es/picker/contributions/canvas-picker/arc3d-picker.js +1 -1
  91. package/es/picker/contributions/canvas-picker/area-picker.js +1 -1
  92. package/es/picker/contributions/canvas-picker/base-picker.js +1 -1
  93. package/es/picker/contributions/canvas-picker/circle-picker.js +1 -1
  94. package/es/picker/contributions/canvas-picker/glyph-picker.js +4 -2
  95. package/es/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
  96. package/es/picker/contributions/canvas-picker/group-picker.js +1 -1
  97. package/es/picker/contributions/canvas-picker/image-picker.js +1 -1
  98. package/es/picker/contributions/canvas-picker/line-picker.js +1 -1
  99. package/es/picker/contributions/canvas-picker/module.js +1 -1
  100. package/es/picker/contributions/canvas-picker/path-picker.js +1 -1
  101. package/es/picker/contributions/canvas-picker/polygon-picker.js +1 -1
  102. package/es/picker/contributions/canvas-picker/pyramid3d-picker.js +1 -2
  103. package/es/picker/contributions/canvas-picker/rect-picker.js +3 -3
  104. package/es/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
  105. package/es/picker/contributions/canvas-picker/rect3d-picker.js +1 -1
  106. package/es/picker/contributions/canvas-picker/richtext-picker.js +1 -1
  107. package/es/picker/contributions/canvas-picker/symbol-picker.js +1 -1
  108. package/es/picker/contributions/canvas-picker/text-picker.js +1 -1
  109. package/es/picker/contributions/math-picker/arc-picker.js +1 -1
  110. package/es/picker/contributions/math-picker/area-picker.js +1 -1
  111. package/es/picker/math-picker-service.d.ts +2 -2
  112. package/es/picker/math-picker-service.js +5 -1
  113. package/es/picker/math-picker-service.js.map +1 -1
  114. package/es/window/contributions/native-contribution.js +0 -2
  115. package/package.json +4 -4
@@ -67,4 +67,4 @@ let BrowserCanvas = class extends BaseCanvas {
67
67
  BrowserCanvas.env = "browser", BrowserCanvas = __decorate([ injectable(), __metadata("design:paramtypes", [ Object ]) ], BrowserCanvas);
68
68
 
69
69
  export { BrowserCanvas };
70
- //# sourceMappingURL=canvas.js.map
70
+ //# sourceMappingURL=canvas.js.map
@@ -154,6 +154,7 @@ export declare class BrowserContext2d implements IContext2d {
154
154
  lineThrough: number;
155
155
  scaleIn3d: boolean;
156
156
  direction: "horizontal" | "vertical";
157
+ verticalMode: number;
157
158
  wordBreak: "break-word" | "break-all";
158
159
  ignoreBuf: boolean;
159
160
  };
@@ -485,4 +485,4 @@ let BrowserContext2d = class {
485
485
  BrowserContext2d.env = "browser", BrowserContext2d = __decorate([ injectable(), __metadata("design:paramtypes", [ Object, Number ]) ], BrowserContext2d);
486
486
 
487
487
  export { BrowserContext2d };
488
- //# sourceMappingURL=context.js.map
488
+ //# sourceMappingURL=context.js.map
@@ -1,4 +1,4 @@
1
1
  export * from "./canvas";
2
2
 
3
3
  export * from "./context";
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -5,4 +5,4 @@ import { BrowserContext2d } from "./context";
5
5
  import { createModule } from "../create-canvas-module";
6
6
 
7
7
  export const browserCanvasModule = createModule(BrowserCanvas, BrowserContext2d);
8
- //# sourceMappingURL=modules.js.map
8
+ //# sourceMappingURL=modules.js.map
@@ -23,4 +23,4 @@ let FeishuCanvas = class extends BaseCanvas {
23
23
  FeishuCanvas.env = "feishu", FeishuCanvas = __decorate([ injectable(), __metadata("design:paramtypes", [ Object ]) ], FeishuCanvas);
24
24
 
25
25
  export { FeishuCanvas };
26
- //# sourceMappingURL=canvas.js.map
26
+ //# sourceMappingURL=canvas.js.map
@@ -50,4 +50,4 @@ let FeishuContext2d = class extends BrowserContext2d {
50
50
  FeishuContext2d.env = "feishu", FeishuContext2d = __decorate([ injectable() ], FeishuContext2d);
51
51
 
52
52
  export { FeishuContext2d };
53
- //# sourceMappingURL=context.js.map
53
+ //# sourceMappingURL=context.js.map
@@ -1,4 +1,4 @@
1
1
  export * from "./canvas";
2
2
 
3
3
  export * from "./context";
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -5,4 +5,4 @@ import { FeishuContext2d } from "./context";
5
5
  import { createModule } from "../create-canvas-module";
6
6
 
7
7
  export const feishuCanvasModule = createModule(FeishuCanvas, FeishuContext2d);
8
- //# sourceMappingURL=modules.js.map
8
+ //# sourceMappingURL=modules.js.map
@@ -23,4 +23,4 @@ let LynxCanvas = class extends BaseCanvas {
23
23
  LynxCanvas.env = "lynx", LynxCanvas = __decorate([ injectable(), __metadata("design:paramtypes", [ Object ]) ], LynxCanvas);
24
24
 
25
25
  export { LynxCanvas };
26
- //# sourceMappingURL=canvas.js.map
26
+ //# sourceMappingURL=canvas.js.map
@@ -51,4 +51,4 @@ let LynxContext2d = class extends BrowserContext2d {
51
51
  LynxContext2d.env = "lynx", LynxContext2d = __decorate([ injectable() ], LynxContext2d);
52
52
 
53
53
  export { LynxContext2d };
54
- //# sourceMappingURL=context.js.map
54
+ //# sourceMappingURL=context.js.map
@@ -1,4 +1,4 @@
1
1
  export * from "./canvas";
2
2
 
3
3
  export * from "./context";
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -5,4 +5,4 @@ import { LynxContext2d } from "./context";
5
5
  import { createModule } from "../create-canvas-module";
6
6
 
7
7
  export const lynxCanvasModule = createModule(LynxCanvas, LynxContext2d);
8
- //# sourceMappingURL=modules.js.map
8
+ //# sourceMappingURL=modules.js.map
@@ -26,4 +26,5 @@ let NodeCanvas = class extends BaseCanvas {
26
26
 
27
27
  NodeCanvas.env = "node", NodeCanvas = __decorate([ injectable(), __metadata("design:paramtypes", [ Object ]) ], NodeCanvas);
28
28
 
29
- export { NodeCanvas };
29
+ export { NodeCanvas };
30
+ //# sourceMappingURL=canvas.js.map
@@ -26,4 +26,4 @@ let NodeContext2d = class extends BrowserContext2d {
26
26
  NodeContext2d.env = "node", NodeContext2d = __decorate([ injectable(), __metadata("design:paramtypes", [ Object, Number ]) ], NodeContext2d);
27
27
 
28
28
  export { NodeContext2d };
29
- //# sourceMappingURL=context.js.map
29
+ //# sourceMappingURL=context.js.map
@@ -1,4 +1,4 @@
1
1
  export * from "./canvas";
2
2
 
3
3
  export * from "./context";
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -5,4 +5,4 @@ import { NodeContext2d } from "./context";
5
5
  import { createModule } from "../create-canvas-module";
6
6
 
7
7
  export const nodeCanvasModule = createModule(NodeCanvas, NodeContext2d);
8
- //# sourceMappingURL=modules.js.map
8
+ //# sourceMappingURL=modules.js.map
@@ -25,4 +25,4 @@ let TaroCanvas = class extends BaseCanvas {
25
25
  TaroCanvas.env = "taro", TaroCanvas = __decorate([ injectable(), __metadata("design:paramtypes", [ Object ]) ], TaroCanvas);
26
26
 
27
27
  export { TaroCanvas };
28
- //# sourceMappingURL=canvas.js.map
28
+ //# sourceMappingURL=canvas.js.map
@@ -61,4 +61,4 @@ let TaroContext2d = class extends BrowserContext2d {
61
61
  TaroContext2d.env = "taro", TaroContext2d = __decorate([ injectable() ], TaroContext2d);
62
62
 
63
63
  export { TaroContext2d };
64
- //# sourceMappingURL=context.js.map
64
+ //# sourceMappingURL=context.js.map
@@ -1,4 +1,4 @@
1
1
  export * from "./canvas";
2
2
 
3
3
  export * from "./context";
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -5,4 +5,4 @@ import { TaroContext2d } from "./context";
5
5
  import { createModule } from "../create-canvas-module";
6
6
 
7
7
  export const taroCanvasModule = createModule(TaroCanvas, TaroContext2d);
8
- //# sourceMappingURL=modules.js.map
8
+ //# sourceMappingURL=modules.js.map
@@ -189,4 +189,5 @@ let BrowserEnvContribution = class extends BaseEnvContribution {
189
189
 
190
190
  BrowserEnvContribution = __decorate([ injectable(), __metadata("design:paramtypes", []) ], BrowserEnvContribution);
191
191
 
192
- export { BrowserEnvContribution };
192
+ export { BrowserEnvContribution };
193
+ //# sourceMappingURL=browser-contribution.js.map
@@ -47,5 +47,4 @@ export const wxEnvModule = new ContainerModule((bind => {
47
47
 
48
48
  export const nodeEnvModule = new ContainerModule((bind => {
49
49
  bind(NodeEnvContribution).toSelf().inSingletonScope(), bind(EnvContribution).toService(NodeEnvContribution);
50
- }));
51
- //# sourceMappingURL=module.js.map
50
+ }));
@@ -1,4 +1,5 @@
1
- import type { Container } from '@visactor/vrender-core';
1
+ import { type Container } from '@visactor/vrender-core';
2
+ export declare function loadAllEnv(container: Container): void;
2
3
  export declare function loadAllModule(container: Container): void;
3
4
  export declare function loadBrowserEnv(container: Container): void;
4
5
  export declare function loadFeishuEnv(container: Container): void;
@@ -6,3 +7,10 @@ export declare function loadLynxEnv(container: Container): void;
6
7
  export declare function loadNodeEnv(container: Container): void;
7
8
  export declare function loadTaroEnv(container: Container): void;
8
9
  export declare function loadWxEnv(container: Container): void;
10
+ export declare function initAllEnv(): void;
11
+ export declare function initBrowserEnv(): void;
12
+ export declare function initFeishuEnv(): void;
13
+ export declare function initLynxEnv(): void;
14
+ export declare function initNodeEnv(): void;
15
+ export declare function initTaroEnv(): void;
16
+ export declare function initWxEnv(): void;
package/es/env/modules.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { container } from "@visactor/vrender-core";
2
+
1
3
  import { allEnvModule, browserEnvModule, feishuEnvModule, lynxEnvModule, nodeEnvModule, taroEnvModule, wxEnvModule } from "./contributions/module";
2
4
 
3
5
  import { loadAllCavnvas } from "../canvas/contributions/modules";
@@ -16,31 +18,72 @@ import { taroCanvasModule } from "../canvas/contributions/taro/modules";
16
18
 
17
19
  import { wxCanvasModule } from "../canvas/contributions/wx/modules";
18
20
 
21
+ import { loadCanvasPicker, loadMathPicker } from "../picker";
22
+
23
+ export function loadAllEnv(container) {
24
+ loadAllModule(container);
25
+ }
26
+
19
27
  export function loadAllModule(container) {
20
- container.load(allEnvModule), loadAllCavnvas(container), container.load(allWindowModule);
28
+ container.load(allEnvModule), loadAllCavnvas(container), container.load(allWindowModule),
29
+ loadCanvasPicker(container);
21
30
  }
22
31
 
23
32
  export function loadBrowserEnv(container) {
24
- container.load(browserEnvModule), container.load(browserCanvasModule), container.load(browserWindowModule);
33
+ container.load(browserEnvModule), container.load(browserCanvasModule), container.load(browserWindowModule),
34
+ loadCanvasPicker(container);
25
35
  }
26
36
 
27
37
  export function loadFeishuEnv(container) {
28
- container.load(feishuEnvModule), container.load(feishuCanvasModule), container.load(feishuWindowModule);
38
+ container.load(feishuEnvModule), container.load(feishuCanvasModule), container.load(feishuWindowModule),
39
+ loadMathPicker(container);
29
40
  }
30
41
 
31
42
  export function loadLynxEnv(container) {
32
- container.load(lynxEnvModule), container.load(lynxCanvasModule), container.load(lynxWindowModule);
43
+ container.load(lynxEnvModule), container.load(lynxCanvasModule), container.load(lynxWindowModule),
44
+ loadMathPicker(container);
33
45
  }
34
46
 
35
47
  export function loadNodeEnv(container) {
36
- container.load(nodeEnvModule), container.load(nodeCanvasModule), container.load(nodeWindowModule);
48
+ container.load(nodeEnvModule), container.load(nodeCanvasModule), container.load(nodeWindowModule),
49
+ loadMathPicker(container);
37
50
  }
38
51
 
39
52
  export function loadTaroEnv(container) {
40
- container.load(taroEnvModule), container.load(taroCanvasModule), container.load(taroWindowModule);
53
+ container.load(taroEnvModule), container.load(taroCanvasModule), container.load(taroWindowModule),
54
+ loadMathPicker(container);
41
55
  }
42
56
 
43
57
  export function loadWxEnv(container) {
44
- container.load(wxEnvModule), container.load(wxCanvasModule), container.load(wxWindowModule);
58
+ container.load(wxEnvModule), container.load(wxCanvasModule), container.load(wxWindowModule),
59
+ loadMathPicker(container);
60
+ }
61
+
62
+ export function initAllEnv() {
63
+ loadAllEnv(container);
64
+ }
65
+
66
+ export function initBrowserEnv() {
67
+ loadBrowserEnv(container);
68
+ }
69
+
70
+ export function initFeishuEnv() {
71
+ loadFeishuEnv(container);
72
+ }
73
+
74
+ export function initLynxEnv() {
75
+ loadLynxEnv(container);
76
+ }
77
+
78
+ export function initNodeEnv() {
79
+ loadNodeEnv(container);
80
+ }
81
+
82
+ export function initTaroEnv() {
83
+ loadTaroEnv(container);
84
+ }
85
+
86
+ export function initWxEnv() {
87
+ loadWxEnv(container);
45
88
  }
46
89
  //# sourceMappingURL=modules.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/env/modules.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,MAAM,UAAU,aAAa,CAAC,SAAoB;IAChD,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1B,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,SAAoB;IACjD,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAoB;IAChD,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAChC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAoB;IAC9C,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9B,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAoB;IAC9C,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9B,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAoB;IAC9C,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9B,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,SAAoB;IAC5C,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACjC,CAAC","file":"modules.js","sourcesContent":["import type { Container } from '@visactor/vrender-core';\nimport {\n allEnvModule,\n browserEnvModule,\n feishuEnvModule,\n lynxEnvModule,\n nodeEnvModule,\n taroEnvModule,\n wxEnvModule\n} from './contributions/module';\nimport { loadAllCavnvas } from '../canvas/contributions/modules';\nimport {\n allWindowModule,\n browserWindowModule,\n feishuWindowModule,\n lynxWindowModule,\n nodeWindowModule,\n taroWindowModule,\n wxWindowModule\n} from '../window/contributions/modules';\nimport { browserCanvasModule } from '../canvas/contributions/browser/modules';\nimport { feishuCanvasModule } from '../canvas/contributions/feishu/modules';\nimport { lynxCanvasModule } from '../canvas/contributions/lynx/modules';\nimport { nodeCanvasModule } from '../canvas/contributions/node/modules';\nimport { taroCanvasModule } from '../canvas/contributions/taro/modules';\nimport { wxCanvasModule } from '../canvas/contributions/wx/modules';\n\nexport function loadAllModule(container: Container) {\n container.load(allEnvModule);\n loadAllCavnvas(container);\n container.load(allWindowModule);\n}\n\nexport function loadBrowserEnv(container: Container) {\n container.load(browserEnvModule);\n container.load(browserCanvasModule);\n container.load(browserWindowModule);\n}\n\nexport function loadFeishuEnv(container: Container) {\n container.load(feishuEnvModule);\n container.load(feishuCanvasModule);\n container.load(feishuWindowModule);\n}\n\nexport function loadLynxEnv(container: Container) {\n container.load(lynxEnvModule);\n container.load(lynxCanvasModule);\n container.load(lynxWindowModule);\n}\n\nexport function loadNodeEnv(container: Container) {\n container.load(nodeEnvModule);\n container.load(nodeCanvasModule);\n container.load(nodeWindowModule);\n}\n\nexport function loadTaroEnv(container: Container) {\n container.load(taroEnvModule);\n container.load(taroCanvasModule);\n container.load(taroWindowModule);\n}\n\nexport function loadWxEnv(container: Container) {\n container.load(wxEnvModule);\n container.load(wxCanvasModule);\n container.load(wxWindowModule);\n}\n"]}
1
+ {"version":3,"sources":["../src/env/modules.ts"],"names":[],"mappings":"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","file":"modules.js","sourcesContent":["import { container, type Container } from '@visactor/vrender-core';\nimport {\n allEnvModule,\n browserEnvModule,\n feishuEnvModule,\n lynxEnvModule,\n nodeEnvModule,\n taroEnvModule,\n wxEnvModule\n} from './contributions/module';\nimport { loadAllCavnvas } from '../canvas/contributions/modules';\nimport {\n allWindowModule,\n browserWindowModule,\n feishuWindowModule,\n lynxWindowModule,\n nodeWindowModule,\n taroWindowModule,\n wxWindowModule\n} from '../window/contributions/modules';\nimport { browserCanvasModule } from '../canvas/contributions/browser/modules';\nimport { feishuCanvasModule } from '../canvas/contributions/feishu/modules';\nimport { lynxCanvasModule } from '../canvas/contributions/lynx/modules';\nimport { nodeCanvasModule } from '../canvas/contributions/node/modules';\nimport { taroCanvasModule } from '../canvas/contributions/taro/modules';\nimport { wxCanvasModule } from '../canvas/contributions/wx/modules';\nimport { loadCanvasPicker, loadMathPicker } from '../picker';\n\nexport function loadAllEnv(container: Container) {\n loadAllModule(container);\n}\n\nexport function loadAllModule(container: Container) {\n container.load(allEnvModule);\n loadAllCavnvas(container);\n container.load(allWindowModule);\n loadCanvasPicker(container);\n}\n\nexport function loadBrowserEnv(container: Container) {\n container.load(browserEnvModule);\n container.load(browserCanvasModule);\n container.load(browserWindowModule);\n loadCanvasPicker(container);\n}\n\nexport function loadFeishuEnv(container: Container) {\n container.load(feishuEnvModule);\n container.load(feishuCanvasModule);\n container.load(feishuWindowModule);\n loadMathPicker(container);\n}\n\nexport function loadLynxEnv(container: Container) {\n container.load(lynxEnvModule);\n container.load(lynxCanvasModule);\n container.load(lynxWindowModule);\n loadMathPicker(container);\n}\n\nexport function loadNodeEnv(container: Container) {\n container.load(nodeEnvModule);\n container.load(nodeCanvasModule);\n container.load(nodeWindowModule);\n loadMathPicker(container);\n}\n\nexport function loadTaroEnv(container: Container) {\n container.load(taroEnvModule);\n container.load(taroCanvasModule);\n container.load(taroWindowModule);\n loadMathPicker(container);\n}\n\nexport function loadWxEnv(container: Container) {\n container.load(wxEnvModule);\n container.load(wxCanvasModule);\n container.load(wxWindowModule);\n loadMathPicker(container);\n}\n\nexport function initAllEnv() {\n loadAllEnv(container);\n}\nexport function initBrowserEnv() {\n loadBrowserEnv(container);\n}\nexport function initFeishuEnv() {\n loadFeishuEnv(container);\n}\nexport function initLynxEnv() {\n loadLynxEnv(container);\n}\nexport function initNodeEnv() {\n loadNodeEnv(container);\n}\nexport function initTaroEnv() {\n loadTaroEnv(container);\n}\nexport function initWxEnv() {\n loadWxEnv(container);\n}\n"]}
@@ -173,5 +173,4 @@ export class Gesture extends EventEmitter {
173
173
  if (listeners) if ("fn" in listeners) listeners.fn.call(listeners.context, e, type); else for (let i = 0, j = listeners.length; i < j && !e.propagationImmediatelyStopped; i++) listeners[i].fn.call(listeners[i].context, e, type);
174
174
  this.emit(type, e);
175
175
  }
176
- }
177
- //# sourceMappingURL=gesture.js.map
176
+ }
@@ -1,6 +1,6 @@
1
1
  import type { IMatrix, IPointLike } from '@visactor/vutils';
2
2
  import { DefaultPickService } from '@visactor/vrender-core';
3
- import type { ICanvas, IContext2d, IGraphic, EnvType, IGlobal, IGraphicPicker, IPickerService, IDrawContribution, IContributionProvider, IPickItemInterceptorContribution, IPickParams } from '@visactor/vrender-core';
3
+ import type { ICanvas, IContext2d, IGraphic, EnvType, IGlobal, IGraphicPicker, IPickerService, IDrawContribution, IContributionProvider, IPickItemInterceptorContribution, IPickParams, PickResult } from '@visactor/vrender-core';
4
4
  export declare class DefaultCanvasPickerService extends DefaultPickService implements IPickerService {
5
5
  protected readonly contributions: IContributionProvider<IGraphicPicker>;
6
6
  private readonly circlePicker;
@@ -24,5 +24,5 @@ export declare class DefaultCanvasPickerService extends DefaultPickService imple
24
24
  constructor(contributions: IContributionProvider<IGraphicPicker>, circlePicker: IGraphicPicker, rectPicker: IGraphicPicker, arcPicker: IGraphicPicker, areaPicker: IGraphicPicker, imagePicker: IGraphicPicker, linePicker: IGraphicPicker, pathPicker: IGraphicPicker, symbolPicker: IGraphicPicker, textPicker: IGraphicPicker, polygonPicker: IGraphicPicker, richtextPicker: IGraphicPicker, drawContribution: IDrawContribution, global: IGlobal, pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>);
25
25
  init(): void;
26
26
  configure(global: IGlobal, env: EnvType): void;
27
- pickItem(graphic: IGraphic, point: IPointLike, parentMatrix: IMatrix | null, params: IPickParams): IGraphic | null;
27
+ pickItem(graphic: IGraphic, point: IPointLike, parentMatrix: IMatrix | null, params: IPickParams): PickResult | null;
28
28
  }
@@ -51,20 +51,22 @@ let DefaultCanvasPickerService = class extends DefaultPickService {
51
51
  const ret = drawContribution.beforePickItem(graphic, this, point, params, {
52
52
  parentMatrix: parentMatrix
53
53
  });
54
- if (ret) return !0 === ret ? graphic : ret.graphic;
54
+ if (ret) return ret;
55
55
  }
56
56
  }
57
57
  const picker = this.pickerMap.get(graphic.numberType);
58
58
  if (!picker) return null;
59
- const data = picker.contains(graphic, point, params) ? graphic : null;
60
- if (data) return data;
59
+ const g = picker.contains(graphic, point, params) ? graphic : null, data = {
60
+ graphic: g
61
+ };
62
+ if (g) return data;
61
63
  if (this.InterceptorContributions.length) for (let i = 0; i < this.InterceptorContributions.length; i++) {
62
64
  const drawContribution = this.InterceptorContributions[i];
63
65
  if (drawContribution.afterPickItem) {
64
66
  const ret = drawContribution.afterPickItem(graphic, this, point, params, {
65
67
  parentMatrix: parentMatrix
66
68
  });
67
- if (ret) return !0 === ret ? graphic : ret.graphic;
69
+ if (ret) return ret;
68
70
  }
69
71
  }
70
72
  return data;
@@ -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 postConstruct,\n DefaultPickService,\n DrawContribution,\n PickItemInterceptor,\n VGlobal,\n wrapCanvas\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} 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 @inject(CanvasCirclePicker) private readonly circlePicker: IGraphicPicker, // 默认的circlePicker\n @inject(CanvasRectPicker) private readonly rectPicker: IGraphicPicker, // 默认的rectPicker\n @inject(CanvasArcPicker) private readonly arcPicker: IGraphicPicker, // 默认的arcPicker\n @inject(CanvasAreaPicker) private readonly areaPicker: IGraphicPicker, // 默认的areaPicker\n @inject(CanvasImagePicker) private readonly imagePicker: IGraphicPicker, // 默认的imagePicker\n @inject(CanvasLinePicker) private readonly linePicker: IGraphicPicker, // 默认的linePicker\n @inject(CanvasPathPicker) private readonly pathPicker: IGraphicPicker, // 默认的pathPicker\n @inject(CanvasSymbolPicker) private readonly symbolPicker: IGraphicPicker, // 默认的symbolPicker\n @inject(CanvasTextPicker) private readonly textPicker: IGraphicPicker, // 默认的textPicker\n @inject(CanvasPolygonPicker) private readonly polygonPicker: IGraphicPicker, // 默认的polygonPicker\n @inject(CanvasRichTextPicker) private readonly richtextPicker: IGraphicPicker, // 默认的richtextPicker\n\n @inject(DrawContribution)\n public readonly drawContribution: IDrawContribution,\n @inject(VGlobal) public readonly global: IGlobal,\n // 拦截器\n @inject(ContributionProvider)\n @named(PickItemInterceptor)\n protected readonly pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>\n ) {\n super(global, 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 }\n\n @postConstruct()\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 const options = {\n width: 100,\n height: 100,\n nativeCanvas: global.createCanvas({ width: 100, height: 100 }),\n id: 'for-pick'\n };\n\n this.pickCanvas = wrapCanvas(options);\n this.pickContext = this.pickCanvas.getContext('2d');\n }\n\n // todo: switch统一改为数字map\n pickItem(graphic: IGraphic, point: IPointLike, parentMatrix: IMatrix | null, params: IPickParams): IGraphic | 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 === true ? graphic : ret.graphic;\n }\n }\n }\n }\n const picker = this.pickerMap.get(graphic.numberType);\n if (!picker) {\n return null;\n }\n const data = picker.contains(graphic, point, params) ? graphic : null;\n\n if (data) {\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 === true ? graphic : ret.graphic;\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 postConstruct,\n DefaultPickService,\n DrawContribution,\n PickItemInterceptor,\n VGlobal,\n wrapCanvas\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 @inject(CanvasCirclePicker) private readonly circlePicker: IGraphicPicker, // 默认的circlePicker\n @inject(CanvasRectPicker) private readonly rectPicker: IGraphicPicker, // 默认的rectPicker\n @inject(CanvasArcPicker) private readonly arcPicker: IGraphicPicker, // 默认的arcPicker\n @inject(CanvasAreaPicker) private readonly areaPicker: IGraphicPicker, // 默认的areaPicker\n @inject(CanvasImagePicker) private readonly imagePicker: IGraphicPicker, // 默认的imagePicker\n @inject(CanvasLinePicker) private readonly linePicker: IGraphicPicker, // 默认的linePicker\n @inject(CanvasPathPicker) private readonly pathPicker: IGraphicPicker, // 默认的pathPicker\n @inject(CanvasSymbolPicker) private readonly symbolPicker: IGraphicPicker, // 默认的symbolPicker\n @inject(CanvasTextPicker) private readonly textPicker: IGraphicPicker, // 默认的textPicker\n @inject(CanvasPolygonPicker) private readonly polygonPicker: IGraphicPicker, // 默认的polygonPicker\n @inject(CanvasRichTextPicker) private readonly richtextPicker: IGraphicPicker, // 默认的richtextPicker\n\n @inject(DrawContribution)\n public readonly drawContribution: IDrawContribution,\n @inject(VGlobal) public readonly global: IGlobal,\n // 拦截器\n @inject(ContributionProvider)\n @named(PickItemInterceptor)\n protected readonly pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>\n ) {\n super(global, 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 }\n\n @postConstruct()\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 const options = {\n width: 100,\n height: 100,\n nativeCanvas: global.createCanvas({ width: 100, height: 100 }),\n id: 'for-pick'\n };\n\n this.pickCanvas = wrapCanvas(options);\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"]}
@@ -42,4 +42,4 @@ let DefaultCanvasArcPicker = class {
42
42
  DefaultCanvasArcPicker = __decorate([ injectable(), __param(0, inject(ArcRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasArcPicker);
43
43
 
44
44
  export { DefaultCanvasArcPicker };
45
- //# sourceMappingURL=arc-picker.js.map
45
+ //# sourceMappingURL=arc-picker.js.map
@@ -43,4 +43,4 @@ let DefaultCanvasArc3dPicker = class extends BasePicker {
43
43
  DefaultCanvasArc3dPicker = __decorate([ injectable(), __param(0, inject(Arc3dRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasArc3dPicker);
44
44
 
45
45
  export { DefaultCanvasArc3dPicker };
46
- //# sourceMappingURL=arc3d-picker.js.map
46
+ //# sourceMappingURL=arc3d-picker.js.map
@@ -36,4 +36,4 @@ let DefaultCanvasAreaPicker = class {
36
36
  DefaultCanvasAreaPicker = __decorate([ injectable(), __param(0, inject(AreaRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasAreaPicker);
37
37
 
38
38
  export { DefaultCanvasAreaPicker };
39
- //# sourceMappingURL=area-picker.js.map
39
+ //# sourceMappingURL=area-picker.js.map
@@ -11,4 +11,4 @@ let BasePicker = class extends BaseRender {};
11
11
  BasePicker = __decorate([ injectable() ], BasePicker);
12
12
 
13
13
  export { BasePicker };
14
- //# sourceMappingURL=base-picker.js.map
14
+ //# sourceMappingURL=base-picker.js.map
@@ -41,4 +41,4 @@ let DefaultCanvasCirclePicker = class {
41
41
  DefaultCanvasCirclePicker = __decorate([ injectable(), __param(0, inject(CircleRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasCirclePicker);
42
42
 
43
43
  export { DefaultCanvasCirclePicker };
44
- //# sourceMappingURL=circle-picker.js.map
44
+ //# sourceMappingURL=circle-picker.js.map
@@ -25,7 +25,9 @@ let DefaultCanvasGlyphPicker = class {
25
25
  if (pickerService) {
26
26
  let picked = !1;
27
27
  return glyph.getSubGraphic().forEach((g => {
28
- picked || (picked = !!pickerService.pickItem(g, point, null, params));
28
+ if (picked) return;
29
+ const data = pickerService.pickItem(g, point, null, params);
30
+ picked = !(!data || !data.graphic);
29
31
  })), picked;
30
32
  }
31
33
  return !1;
@@ -35,4 +37,4 @@ let DefaultCanvasGlyphPicker = class {
35
37
  DefaultCanvasGlyphPicker = __decorate([ injectable(), __param(0, inject(GlyphRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasGlyphPicker);
36
38
 
37
39
  export { DefaultCanvasGlyphPicker };
38
- //# sourceMappingURL=glyph-picker.js.map
40
+ //# sourceMappingURL=glyph-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/picker/contributions/canvas-picker/glyph-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrF,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAInC,YAAiD,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAH/E,SAAI,GAAW,OAAO,CAAC;QACvB,eAAU,GAAW,iBAAiB,CAAC;IAE2C,CAAC;IAEnF,QAAQ,CAAC,KAAa,EAAE,KAAa,EAAE,MAAoB;QACzD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YAC1C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,KAAK,WAAW,EAAE;YAC5C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QAED,MAAM,aAAa,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC;QAC5C,IAAI,aAAa,EAAE;YAEjB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAChC,IAAI,MAAM,EAAE;oBACV,OAAO;iBACR;gBACD,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IA0Cf,CAAC;CACF,CAAA;AA1EY,wBAAwB;IADpC,UAAU,EAAE;IAKE,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;;GAJrB,wBAAwB,CA0EpC;SA1EY,wBAAwB","file":"glyph-picker.js","sourcesContent":["import type { IPoint } from '@visactor/vutils';\nimport { inject, injectable, GLYPH_NUMBER_TYPE, GlyphRender } from '@visactor/vrender-core';\nimport type { IGlyph, IGraphicPicker, IGraphicRender, IPickParams } from '@visactor/vrender-core';\n\n@injectable()\nexport class DefaultCanvasGlyphPicker implements IGraphicPicker {\n type: string = 'glyph';\n numberType: number = GLYPH_NUMBER_TYPE;\n\n constructor(@inject(GlyphRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(glyph: IGlyph, point: IPoint, params?: IPickParams): boolean {\n if (!glyph.AABBBounds.containsPoint(point)) {\n return false;\n }\n if (glyph.attribute.pickMode === 'imprecise') {\n return true;\n }\n\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n const pickerService = params?.pickerService;\n if (pickerService) {\n // 遍历所有的子元素pick\n let picked = false;\n glyph.getSubGraphic().forEach(g => {\n if (picked) {\n return;\n }\n picked = !!pickerService.pickItem(g, point, null, params);\n });\n return picked;\n }\n return false;\n\n // const { rectAttribute } = graphicService.themeService.getCurrentTheme();\n // const glyphAttribute = getTheme(glyph).glyph;\n // let { x = glyphAttribute.x, y = glyphAttribute.y } = glyph.attribute;\n\n // pickContext.highPerformanceSave();\n // if (!glyph.transMatrix.onlyTranslate()) {\n // // 性能较差\n // x = 0;\n // y = 0;\n // pickContext.transformFromMatrix(glyph.transMatrix, true);\n // } else {\n // const { dx = glyphAttribute.dx, dy = glyphAttribute.dy } = glyph.attribute;\n // x += dx;\n // y += dy;\n // // 当前context有rotate/scale,重置matrix\n // pickContext.setTransformForCurrent();\n // }\n // // 详细形状判断\n // let picked = false;\n // this.canvasRenderer.drawShape(\n // glyph,\n // pickContext,\n // x,\n // y,\n // {\n // drawContribution: params.pickerService?.drawContribution\n // } as any,\n // null,\n // context => {\n // // 选中后面就不需要再走逻辑了\n // if (picked) {\n // return true;\n // }\n // picked = context.isPointInPath(point.x, point.y);\n // return picked;\n // }\n // );\n\n // pickContext.highPerformanceRestore();\n // return picked; // 无圆角形状判断通过\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/picker/contributions/canvas-picker/glyph-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrF,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAInC,YAAiD,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAH/E,SAAI,GAAW,OAAO,CAAC;QACvB,eAAU,GAAW,iBAAiB,CAAC;IAE2C,CAAC;IAEnF,QAAQ,CAAC,KAAa,EAAE,KAAa,EAAE,MAAoB;QACzD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YAC1C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,KAAK,WAAW,EAAE;YAC5C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QAED,MAAM,aAAa,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC;QAC5C,IAAI,aAAa,EAAE;YAEjB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAChC,IAAI,MAAM,EAAE;oBACV,OAAO;iBACR;gBACD,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC5D,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IA0Cf,CAAC;CACF,CAAA;AA3EY,wBAAwB;IADpC,UAAU,EAAE;IAKE,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;;GAJrB,wBAAwB,CA2EpC;SA3EY,wBAAwB","file":"glyph-picker.js","sourcesContent":["import type { IPoint } from '@visactor/vutils';\nimport { inject, injectable, GLYPH_NUMBER_TYPE, GlyphRender } from '@visactor/vrender-core';\nimport type { IGlyph, IGraphicPicker, IGraphicRender, IPickParams } from '@visactor/vrender-core';\n\n@injectable()\nexport class DefaultCanvasGlyphPicker implements IGraphicPicker {\n type: string = 'glyph';\n numberType: number = GLYPH_NUMBER_TYPE;\n\n constructor(@inject(GlyphRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(glyph: IGlyph, point: IPoint, params?: IPickParams): boolean {\n if (!glyph.AABBBounds.containsPoint(point)) {\n return false;\n }\n if (glyph.attribute.pickMode === 'imprecise') {\n return true;\n }\n\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n const pickerService = params?.pickerService;\n if (pickerService) {\n // 遍历所有的子元素pick\n let picked = false;\n glyph.getSubGraphic().forEach(g => {\n if (picked) {\n return;\n }\n const data = pickerService.pickItem(g, point, null, params);\n picked = !!(data && data.graphic);\n });\n return picked;\n }\n return false;\n\n // const { rectAttribute } = graphicService.themeService.getCurrentTheme();\n // const glyphAttribute = getTheme(glyph).glyph;\n // let { x = glyphAttribute.x, y = glyphAttribute.y } = glyph.attribute;\n\n // pickContext.highPerformanceSave();\n // if (!glyph.transMatrix.onlyTranslate()) {\n // // 性能较差\n // x = 0;\n // y = 0;\n // pickContext.transformFromMatrix(glyph.transMatrix, true);\n // } else {\n // const { dx = glyphAttribute.dx, dy = glyphAttribute.dy } = glyph.attribute;\n // x += dx;\n // y += dy;\n // // 当前context有rotate/scale,重置matrix\n // pickContext.setTransformForCurrent();\n // }\n // // 详细形状判断\n // let picked = false;\n // this.canvasRenderer.drawShape(\n // glyph,\n // pickContext,\n // x,\n // y,\n // {\n // drawContribution: params.pickerService?.drawContribution\n // } as any,\n // null,\n // context => {\n // // 选中后面就不需要再走逻辑了\n // if (picked) {\n // return true;\n // }\n // picked = context.isPointInPath(point.x, point.y);\n // return picked;\n // }\n // );\n\n // pickContext.highPerformanceRestore();\n // return picked; // 无圆角形状判断通过\n }\n}\n"]}
@@ -18,4 +18,4 @@ let DefaultCanvasGroupPicker = class {
18
18
  DefaultCanvasGroupPicker = __decorate([ injectable() ], DefaultCanvasGroupPicker);
19
19
 
20
20
  export { DefaultCanvasGroupPicker };
21
- //# sourceMappingURL=group-picker.js.map
21
+ //# sourceMappingURL=group-picker.js.map
@@ -19,4 +19,4 @@ let DefaultCanvasImagePicker = class {
19
19
  DefaultCanvasImagePicker = __decorate([ injectable() ], DefaultCanvasImagePicker);
20
20
 
21
21
  export { DefaultCanvasImagePicker };
22
- //# sourceMappingURL=image-picker.js.map
22
+ //# sourceMappingURL=image-picker.js.map
@@ -49,4 +49,4 @@ let DefaultCanvasLinePicker = class extends BasePicker {
49
49
  DefaultCanvasLinePicker = __decorate([ injectable(), __param(0, inject(LineRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasLinePicker);
50
50
 
51
51
  export { DefaultCanvasLinePicker };
52
- //# sourceMappingURL=line-picker.js.map
52
+ //# sourceMappingURL=line-picker.js.map
@@ -61,4 +61,4 @@ export default new ContainerModule(((bind, unbind, isBound, rebind) => {
61
61
  bind(CanvasGroupPicker).toService(DefaultCanvasGroupPicker), bind(CanvasPickerContribution).toService(CanvasGroupPicker),
62
62
  bindContributionProvider(bind, CanvasPickerContribution);
63
63
  }));
64
- //# sourceMappingURL=module.js.map
64
+ //# sourceMappingURL=module.js.map
@@ -50,4 +50,4 @@ let DefaultCanvasPathPicker = class extends BasePicker {
50
50
  DefaultCanvasPathPicker = __decorate([ injectable(), __param(0, inject(PathRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasPathPicker);
51
51
 
52
52
  export { DefaultCanvasPathPicker };
53
- //# sourceMappingURL=path-picker.js.map
53
+ //# sourceMappingURL=path-picker.js.map
@@ -40,4 +40,4 @@ let DefaultCanvasPolygonPicker = class {
40
40
  DefaultCanvasPolygonPicker = __decorate([ injectable(), __param(0, inject(PolygonRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasPolygonPicker);
41
41
 
42
42
  export { DefaultCanvasPolygonPicker };
43
- //# sourceMappingURL=polygon-picker.js.map
43
+ //# sourceMappingURL=polygon-picker.js.map
@@ -43,5 +43,4 @@ let DefaultCanvasPyramid3dPicker = class extends BasePicker {
43
43
 
44
44
  DefaultCanvasPyramid3dPicker = __decorate([ injectable(), __param(0, inject(Pyramid3dRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasPyramid3dPicker);
45
45
 
46
- export { DefaultCanvasPyramid3dPicker };
47
- //# sourceMappingURL=pyramid3d-picker.js.map
46
+ export { DefaultCanvasPyramid3dPicker };
@@ -34,14 +34,14 @@ let DefaultCanvasRectPicker = class {
34
34
  x += point.x, y += point.y, pickContext.setTransformForCurrent();
35
35
  } else x = 0, y = 0, onlyTranslate = !1, pickContext.transformFromMatrix(rect.transMatrix, !0);
36
36
  let picked = !0;
37
- if (!onlyTranslate || isNumber(cornerRadius, !0) && 0 !== cornerRadius || isArray(cornerRadius) && cornerRadius.some((num => 0 !== num))) picked = !1,
37
+ if (!onlyTranslate || rect.shadowRoot || isNumber(cornerRadius, !0) && 0 !== cornerRadius || isArray(cornerRadius) && cornerRadius.some((num => 0 !== num))) picked = !1,
38
38
  this.canvasRenderer.drawShape(rect, pickContext, x, y, {}, null, ((context, rectAttribute, themeAttribute) => !!picked || (picked = context.isPointInPath(point.x, point.y),
39
39
  picked)), ((context, rectAttribute, themeAttribute) => {
40
40
  if (picked) return !0;
41
41
  const lineWidth = rectAttribute.lineWidth || themeAttribute.lineWidth;
42
42
  return pickContext.lineWidth = getScaledStroke(pickContext, lineWidth, pickContext.dpr),
43
43
  picked = context.isPointInStroke(point.x, point.y), picked;
44
- })); else if (picked) {
44
+ })); else {
45
45
  const {fill: fill = rectAttribute.fill, stroke: stroke = rectAttribute.stroke, lineWidth: lineWidth = rectAttribute.lineWidth} = rect.attribute;
46
46
  if (fill) picked = !0; else if (stroke) {
47
47
  const bounds = rect.AABBBounds;
@@ -56,4 +56,4 @@ let DefaultCanvasRectPicker = class {
56
56
  DefaultCanvasRectPicker = __decorate([ injectable(), __param(0, inject(RectRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasRectPicker);
57
57
 
58
58
  export { DefaultCanvasRectPicker };
59
- //# sourceMappingURL=rect-picker.js.map
59
+ //# sourceMappingURL=rect-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/picker/contributions/canvas-picker/rect-picker.ts"],"names":[],"mappings":"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","file":"rect-picker.js","sourcesContent":["import type { IPoint } from '@visactor/vutils';\nimport { isArray, isNumber, AABBBounds } from '@visactor/vutils';\nimport { getScaledStroke, inject, injectable, getTheme, RectRender, RECT_NUMBER_TYPE } from '@visactor/vrender-core';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IRect,\n IThemeAttribute,\n IGraphicPicker,\n IGraphicRender,\n IPickParams\n} from '@visactor/vrender-core';\n\nconst _bounds = new AABBBounds();\n\n@injectable()\nexport class DefaultCanvasRectPicker implements IGraphicPicker {\n type: string = 'rect';\n numberType: number = RECT_NUMBER_TYPE;\n\n constructor(@inject(RectRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(rect: IRect, point: IPoint, params?: IPickParams): boolean {\n if (!rect.AABBBounds.containsPoint(point)) {\n return false;\n }\n if (rect.attribute.pickMode === 'imprecise') {\n return true;\n }\n\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n // const { rectAttribute } = graphicService.themeService.getCurrentTheme();\n const rectAttribute = getTheme(rect).rect;\n const { cornerRadius = rectAttribute.cornerRadius } = rect.attribute;\n let { x = rectAttribute.x, y = rectAttribute.y } = rect.attribute;\n\n pickContext.highPerformanceSave();\n let onlyTranslate = true;\n if (!rect.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n onlyTranslate = false;\n pickContext.transformFromMatrix(rect.transMatrix, true);\n } else {\n const point = rect.getOffsetXY(rectAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n pickContext.setTransformForCurrent();\n }\n\n let picked = true;\n // 处理圆角情况,无圆角直接使用bounds判断结果\n if (\n !onlyTranslate ||\n (isNumber(cornerRadius, true) && cornerRadius !== 0) ||\n (isArray(cornerRadius) && (<number[]>cornerRadius).some(num => num !== 0))\n ) {\n // 详细形状判断\n picked = false;\n this.canvasRenderer.drawShape(\n rect,\n pickContext,\n x,\n y,\n {} as any,\n null,\n (\n context: IContext2d,\n rectAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(point.x, point.y);\n return picked;\n },\n (\n context: IContext2d,\n rectAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n const lineWidth = rectAttribute.lineWidth || themeAttribute.lineWidth;\n pickContext.lineWidth = getScaledStroke(pickContext, lineWidth, pickContext.dpr);\n picked = context.isPointInStroke(point.x, point.y);\n return picked;\n }\n );\n } else if (picked) {\n // 如果只有描边那需要测试描边\n const {\n fill = rectAttribute.fill,\n stroke = rectAttribute.stroke,\n lineWidth = rectAttribute.lineWidth\n } = rect.attribute;\n if (fill) {\n picked = true;\n } else if (stroke) {\n const bounds = rect.AABBBounds;\n _bounds.setValue(bounds.x1, bounds.y1, bounds.x2, bounds.y2);\n _bounds.expand(-lineWidth / 2);\n picked = !_bounds.containsPoint(point);\n }\n }\n\n pickContext.highPerformanceRestore();\n return picked; // 无圆角形状判断通过\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/picker/contributions/canvas-picker/rect-picker.ts"],"names":[],"mappings":"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","file":"rect-picker.js","sourcesContent":["import type { IPoint } from '@visactor/vutils';\nimport { isArray, isNumber, AABBBounds } from '@visactor/vutils';\nimport { getScaledStroke, inject, injectable, getTheme, RectRender, RECT_NUMBER_TYPE } from '@visactor/vrender-core';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IRect,\n IThemeAttribute,\n IGraphicPicker,\n IGraphicRender,\n IPickParams\n} from '@visactor/vrender-core';\n\nconst _bounds = new AABBBounds();\n\n@injectable()\nexport class DefaultCanvasRectPicker implements IGraphicPicker {\n type: string = 'rect';\n numberType: number = RECT_NUMBER_TYPE;\n\n constructor(@inject(RectRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(rect: IRect, point: IPoint, params?: IPickParams): boolean {\n if (!rect.AABBBounds.containsPoint(point)) {\n return false;\n }\n if (rect.attribute.pickMode === 'imprecise') {\n return true;\n }\n\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n // const { rectAttribute } = graphicService.themeService.getCurrentTheme();\n const rectAttribute = getTheme(rect).rect;\n const { cornerRadius = rectAttribute.cornerRadius } = rect.attribute;\n let { x = rectAttribute.x, y = rectAttribute.y } = rect.attribute;\n\n pickContext.highPerformanceSave();\n let onlyTranslate = true;\n if (!rect.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n onlyTranslate = false;\n pickContext.transformFromMatrix(rect.transMatrix, true);\n } else {\n const point = rect.getOffsetXY(rectAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n pickContext.setTransformForCurrent();\n }\n\n let picked = true;\n // 处理圆角情况,或者存在shadowRoot的情况,无圆角直接使用bounds判断结果\n if (\n !onlyTranslate ||\n rect.shadowRoot ||\n (isNumber(cornerRadius, true) && cornerRadius !== 0) ||\n (isArray(cornerRadius) && (<number[]>cornerRadius).some(num => num !== 0))\n ) {\n // 详细形状判断\n picked = false;\n this.canvasRenderer.drawShape(\n rect,\n pickContext,\n x,\n y,\n {} as any,\n null,\n (\n context: IContext2d,\n rectAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(point.x, point.y);\n return picked;\n },\n (\n context: IContext2d,\n rectAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n const lineWidth = rectAttribute.lineWidth || themeAttribute.lineWidth;\n pickContext.lineWidth = getScaledStroke(pickContext, lineWidth, pickContext.dpr);\n picked = context.isPointInStroke(point.x, point.y);\n return picked;\n }\n );\n } else {\n // 如果只有描边那需要测试描边\n const {\n fill = rectAttribute.fill,\n stroke = rectAttribute.stroke,\n lineWidth = rectAttribute.lineWidth\n } = rect.attribute;\n if (fill) {\n picked = true;\n } else if (stroke) {\n const bounds = rect.AABBBounds;\n _bounds.setValue(bounds.x1, bounds.y1, bounds.x2, bounds.y2);\n _bounds.expand(-lineWidth / 2);\n picked = !_bounds.containsPoint(point);\n }\n }\n\n pickContext.highPerformanceRestore();\n return picked; // 无圆角形状判断通过\n }\n}\n"]}
@@ -47,4 +47,4 @@ let DefaultCanvasRect3dPicker = class extends BasePicker {
47
47
  DefaultCanvasRect3dPicker = __decorate([ injectable(), __param(0, inject(Rect3DRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasRect3dPicker);
48
48
 
49
49
  export { DefaultCanvasRect3dPicker };
50
- //# sourceMappingURL=rect3d-picker.js.map
50
+ //# sourceMappingURL=rect3d-picker.js.map