@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
@@ -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 base_picker_1.BasePicker {
47
47
  DefaultCanvasRect3dPicker = __decorate([ (0, vrender_core_1.injectable)(), __param(0, (0,
48
48
  vrender_core_1.inject)(vrender_core_1.Rect3DRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasRect3dPicker),
49
49
  exports.DefaultCanvasRect3dPicker = DefaultCanvasRect3dPicker;
50
- //# sourceMappingURL=rect3d-picker.js.map
50
+ //# sourceMappingURL=rect3d-picker.js.map
@@ -30,4 +30,4 @@ let DefaultCanvasRichTextPicker = class {
30
30
  DefaultCanvasRichTextPicker = __decorate([ (0, vrender_core_1.injectable)(), __param(0, (0,
31
31
  vrender_core_1.inject)(vrender_core_1.RichTextRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasRichTextPicker),
32
32
  exports.DefaultCanvasRichTextPicker = DefaultCanvasRichTextPicker;
33
- //# sourceMappingURL=richtext-picker.js.map
33
+ //# sourceMappingURL=richtext-picker.js.map
@@ -56,4 +56,4 @@ let DefaultCanvasSymbolPicker = class extends base_picker_1.BasePicker {
56
56
  DefaultCanvasSymbolPicker = __decorate([ (0, vrender_core_1.injectable)(), __param(0, (0,
57
57
  vrender_core_1.inject)(vrender_core_1.SymbolRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasSymbolPicker),
58
58
  exports.DefaultCanvasSymbolPicker = DefaultCanvasSymbolPicker;
59
- //# sourceMappingURL=symbol-picker.js.map
59
+ //# sourceMappingURL=symbol-picker.js.map
@@ -55,4 +55,4 @@ let DefaultCanvasTextPicker = class extends base_picker_1.BasePicker {
55
55
  DefaultCanvasTextPicker = __decorate([ (0, vrender_core_1.injectable)(), __param(0, (0,
56
56
  vrender_core_1.inject)(vrender_core_1.TextRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasTextPicker),
57
57
  exports.DefaultCanvasTextPicker = DefaultCanvasTextPicker;
58
- //# sourceMappingURL=text-picker.js.map
58
+ //# sourceMappingURL=text-picker.js.map
@@ -48,4 +48,4 @@ let DefaultMathArcPicker = class {
48
48
  DefaultMathArcPicker = __decorate([ (0, vrender_core_1.injectable)(), __param(0, (0,
49
49
  vrender_core_1.inject)(vrender_core_1.ArcRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultMathArcPicker),
50
50
  exports.DefaultMathArcPicker = DefaultMathArcPicker;
51
- //# sourceMappingURL=arc-picker.js.map
51
+ //# sourceMappingURL=arc-picker.js.map
@@ -42,4 +42,4 @@ let DefaultMathAreaPicker = class {
42
42
  DefaultMathAreaPicker = __decorate([ (0, vrender_core_1.injectable)(), __param(0, (0,
43
43
  vrender_core_1.inject)(vrender_core_1.AreaRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultMathAreaPicker),
44
44
  exports.DefaultMathAreaPicker = DefaultMathAreaPicker;
45
- //# sourceMappingURL=area-picker.js.map
45
+ //# sourceMappingURL=area-picker.js.map
@@ -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, IContributionProvider, IPickItemInterceptorContribution, IPickParams } from '@visactor/vrender-core';
3
+ import type { ICanvas, IContext2d, IGraphic, EnvType, IGlobal, IGraphicPicker, IPickerService, IContributionProvider, IPickItemInterceptorContribution, IPickParams, PickResult } from '@visactor/vrender-core';
4
4
  export declare class DefaultMathPickerService extends DefaultPickService implements IPickerService {
5
5
  protected readonly contributions: IContributionProvider<IGraphicPicker>;
6
6
  readonly global: IGlobal;
@@ -12,5 +12,5 @@ export declare class DefaultMathPickerService extends DefaultPickService impleme
12
12
  constructor(contributions: IContributionProvider<IGraphicPicker>, global: IGlobal, pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>);
13
13
  init(): void;
14
14
  configure(global: IGlobal, env: EnvType): void;
15
- pickItem(graphic: IGraphic, point: IPointLike, parentMatrix: IMatrix | null, params?: IPickParams): IGraphic | null;
15
+ pickItem(graphic: IGraphic, point: IPointLike, parentMatrix: IMatrix | null, params?: IPickParams): PickResult | null;
16
16
  }
@@ -37,7 +37,11 @@ let DefaultMathPickerService = class extends vrender_core_1.DefaultPickService {
37
37
  pickItem(graphic, point, parentMatrix, params) {
38
38
  if (!1 === graphic.attribute.pickable) return null;
39
39
  const picker = this.pickerMap.get(graphic.numberType);
40
- return picker && picker.contains(graphic, point, params) ? graphic : null;
40
+ if (!picker) return null;
41
+ const g = picker.contains(graphic, point, params) ? graphic : null;
42
+ return g ? {
43
+ graphic: g
44
+ } : null;
41
45
  }
42
46
  };
43
47
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/picker/math-picker-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,yDAUgC;AAahC,yDAAmE;AAK5D,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,iCAAkB;IAO9D,YAGqB,aAAoD,EACtC,MAAe,EAI7B,gCAAyF;QAE5G,KAAK,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;QAP7B,kBAAa,GAAb,aAAa,CAAuC;QACtC,WAAM,GAAN,MAAM,CAAS;QAI7B,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;IAC7B,CAAC;IAGD,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,6BAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAGD,QAAQ,CAAC,OAAiB,EAAE,KAAiB,EAAE,YAA4B,EAAE,MAAoB;QAC/F,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,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;CACF,CAAA;AAvBC;IAAC,IAAA,4BAAa,GAAE;;;;oDAMf;AA/BU,wBAAwB;IADpC,IAAA,yBAAU,GAAE;IASR,WAAA,IAAA,qBAAM,EAAC,mCAAoB,CAAC,CAAA;IAC5B,WAAA,IAAA,oBAAK,EAAC,kCAAsB,CAAC,CAAA;IAE7B,WAAA,IAAA,qBAAM,EAAC,sBAAO,CAAC,CAAA;IAEf,WAAA,IAAA,qBAAM,EAAC,mCAAoB,CAAC,CAAA;IAC5B,WAAA,IAAA,oBAAK,EAAC,kCAAmB,CAAC,CAAA;;GAdlB,wBAAwB,CAgDpC;AAhDY,4DAAwB","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 postConstruct,\n DefaultPickService,\n EmptyContext2d,\n VGlobal,\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} 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 @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('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 }\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 this.pickContext = new EmptyContext2d(null, 1);\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 const picker = this.pickerMap.get(graphic.numberType);\n if (!picker) {\n return null;\n }\n return picker.contains(graphic, point, params) ? graphic : null;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/picker/math-picker-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,yDAUgC;AAchC,yDAAmE;AAK5D,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,iCAAkB;IAO9D,YAGqB,aAAoD,EACtC,MAAe,EAI7B,gCAAyF;QAE5G,KAAK,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;QAP7B,kBAAa,GAAb,aAAa,CAAuC;QACtC,WAAM,GAAN,MAAM,CAAS;QAI7B,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;IAC7B,CAAC;IAGD,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,6BAAc,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;AAlCC;IAAC,IAAA,4BAAa,GAAE;;;;oDAMf;AA/BU,wBAAwB;IADpC,IAAA,yBAAU,GAAE;IASR,WAAA,IAAA,qBAAM,EAAC,mCAAoB,CAAC,CAAA;IAC5B,WAAA,IAAA,oBAAK,EAAC,kCAAsB,CAAC,CAAA;IAE7B,WAAA,IAAA,qBAAM,EAAC,sBAAO,CAAC,CAAA;IAEf,WAAA,IAAA,qBAAM,EAAC,mCAAoB,CAAC,CAAA;IAC5B,WAAA,IAAA,oBAAK,EAAC,kCAAmB,CAAC,CAAA;;GAdlB,wBAAwB,CA2DpC;AA3DY,4DAAwB","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 postConstruct,\n DefaultPickService,\n EmptyContext2d,\n VGlobal,\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 @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('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 }\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 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,3 +1 @@
1
-
2
-
3
1
  //# sourceMappingURL=native-contribution.js.map