@visactor/vrender-core 1.0.0-alpha.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/cjs/animate/config.d.ts +1 -1
  2. package/cjs/animate/config.js.map +1 -1
  3. package/cjs/common/contribution-provider.d.ts +16 -0
  4. package/cjs/common/contribution-provider.js +21 -2
  5. package/cjs/common/contribution-provider.js.map +1 -1
  6. package/cjs/common/event-listener-manager.d.ts +14 -0
  7. package/cjs/common/event-listener-manager.js +52 -0
  8. package/cjs/common/event-listener-manager.js.map +1 -0
  9. package/cjs/common/event-transformer.d.ts +12 -0
  10. package/cjs/common/event-transformer.js +91 -0
  11. package/cjs/common/event-transformer.js.map +1 -0
  12. package/cjs/common/performance-raf.d.ts +1 -1
  13. package/cjs/common/performance-raf.js +9 -8
  14. package/cjs/common/performance-raf.js.map +1 -1
  15. package/cjs/common/polygon.js +4 -2
  16. package/cjs/common/polygon.js.map +1 -1
  17. package/cjs/common/segment/curve/cubic-bezier.d.ts +1 -2
  18. package/cjs/common/segment/curve/cubic-bezier.js +3 -8
  19. package/cjs/common/segment/curve/cubic-bezier.js.map +1 -1
  20. package/cjs/common/segment/curve/quadratic-bezier.d.ts +1 -0
  21. package/cjs/common/segment/curve/quadratic-bezier.js +10 -3
  22. package/cjs/common/segment/curve/quadratic-bezier.js.map +1 -1
  23. package/cjs/common/simplify.js +1 -2
  24. package/cjs/common/split-path.js +2 -1
  25. package/cjs/core/constants.js +1 -1
  26. package/cjs/core/core-modules.js +1 -1
  27. package/cjs/core/global.d.ts +7 -5
  28. package/cjs/core/global.js +14 -13
  29. package/cjs/core/global.js.map +1 -1
  30. package/cjs/core/stage.d.ts +1 -0
  31. package/cjs/core/stage.js +3 -0
  32. package/cjs/core/stage.js.map +1 -1
  33. package/cjs/core/window.d.ts +5 -4
  34. package/cjs/core/window.js +14 -13
  35. package/cjs/core/window.js.map +1 -1
  36. package/cjs/event/event-system.js +11 -10
  37. package/cjs/event/event-system.js.map +1 -1
  38. package/cjs/graphic/graphic-service/graphic-service.js +2 -3
  39. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  40. package/cjs/graphic/graphic.d.ts +1 -0
  41. package/cjs/graphic/graphic.js +12 -8
  42. package/cjs/graphic/graphic.js.map +1 -1
  43. package/cjs/graphic/group.js +8 -15
  44. package/cjs/graphic/group.js.map +1 -1
  45. package/cjs/index.d.ts +2 -0
  46. package/cjs/index.js +3 -3
  47. package/cjs/index.js.map +1 -1
  48. package/cjs/interface/event-listener-manager.d.ts +7 -0
  49. package/cjs/interface/event-listener-manager.js +6 -0
  50. package/cjs/interface/event-listener-manager.js.map +1 -0
  51. package/cjs/interface/global.d.ts +2 -1
  52. package/cjs/interface/global.js.map +1 -1
  53. package/cjs/interface/graphic.d.ts +1 -1
  54. package/cjs/interface/graphic.js.map +1 -1
  55. package/cjs/interface/picker.d.ts +1 -0
  56. package/cjs/interface/picker.js.map +1 -1
  57. package/cjs/interface/render.d.ts +3 -0
  58. package/cjs/interface/render.js.map +1 -1
  59. package/cjs/interface/window.d.ts +1 -0
  60. package/cjs/interface/window.js.map +1 -1
  61. package/cjs/picker/global-picker-service.d.ts +1 -0
  62. package/cjs/picker/global-picker-service.js +1 -0
  63. package/cjs/picker/global-picker-service.js.map +1 -1
  64. package/cjs/picker/picker-service.d.ts +1 -0
  65. package/cjs/picker/picker-service.js +3 -0
  66. package/cjs/picker/picker-service.js.map +1 -1
  67. package/cjs/render/contributions/render/arc-render.d.ts +2 -2
  68. package/cjs/render/contributions/render/arc-render.js +7 -7
  69. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  70. package/cjs/render/contributions/render/area-render.d.ts +2 -2
  71. package/cjs/render/contributions/render/area-render.js +3 -3
  72. package/cjs/render/contributions/render/area-render.js.map +1 -1
  73. package/cjs/render/contributions/render/base-render.d.ts +2 -0
  74. package/cjs/render/contributions/render/base-render.js +3 -0
  75. package/cjs/render/contributions/render/base-render.js.map +1 -1
  76. package/cjs/render/contributions/render/circle-render.d.ts +2 -2
  77. package/cjs/render/contributions/render/circle-render.js +3 -3
  78. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  79. package/cjs/render/contributions/render/draw-contribution.d.ts +1 -0
  80. package/cjs/render/contributions/render/draw-contribution.js +5 -0
  81. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  82. package/cjs/render/contributions/render/draw-interceptor.js +2 -2
  83. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  84. package/cjs/render/contributions/render/glyph-render.d.ts +1 -0
  85. package/cjs/render/contributions/render/glyph-render.js +1 -0
  86. package/cjs/render/contributions/render/glyph-render.js.map +1 -1
  87. package/cjs/render/contributions/render/graphic-render.d.ts +1 -0
  88. package/cjs/render/contributions/render/graphic-render.js.map +1 -1
  89. package/cjs/render/contributions/render/group-render.d.ts +1 -0
  90. package/cjs/render/contributions/render/group-render.js +8 -4
  91. package/cjs/render/contributions/render/group-render.js.map +1 -1
  92. package/cjs/render/contributions/render/image-render.d.ts +2 -2
  93. package/cjs/render/contributions/render/image-render.js +3 -3
  94. package/cjs/render/contributions/render/image-render.js.map +1 -1
  95. package/cjs/render/contributions/render/path-render.d.ts +2 -2
  96. package/cjs/render/contributions/render/path-render.js +3 -3
  97. package/cjs/render/contributions/render/path-render.js.map +1 -1
  98. package/cjs/render/contributions/render/polygon-render.d.ts +2 -2
  99. package/cjs/render/contributions/render/polygon-render.js +3 -3
  100. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  101. package/cjs/render/contributions/render/rect-render.d.ts +2 -2
  102. package/cjs/render/contributions/render/rect-render.js +3 -3
  103. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  104. package/cjs/render/contributions/render/symbol-render.d.ts +2 -2
  105. package/cjs/render/contributions/render/symbol-render.js +3 -3
  106. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  107. package/cjs/render/contributions/render/text-render.d.ts +2 -2
  108. package/cjs/render/contributions/render/text-render.js +3 -3
  109. package/cjs/render/contributions/render/text-render.js.map +1 -1
  110. package/cjs/render/render-service.d.ts +1 -0
  111. package/cjs/render/render-service.js +3 -0
  112. package/cjs/render/render-service.js.map +1 -1
  113. package/dist/index.es.js +404 -196
  114. package/es/animate/config.d.ts +1 -1
  115. package/es/animate/config.js.map +1 -1
  116. package/es/common/contribution-provider.d.ts +16 -0
  117. package/es/common/contribution-provider.js +20 -1
  118. package/es/common/contribution-provider.js.map +1 -1
  119. package/es/common/event-listener-manager.d.ts +14 -0
  120. package/es/common/event-listener-manager.js +44 -0
  121. package/es/common/event-listener-manager.js.map +1 -0
  122. package/es/common/event-transformer.d.ts +12 -0
  123. package/es/common/event-transformer.js +81 -0
  124. package/es/common/event-transformer.js.map +1 -0
  125. package/es/common/performance-raf.d.ts +1 -1
  126. package/es/common/performance-raf.js +9 -8
  127. package/es/common/performance-raf.js.map +1 -1
  128. package/es/common/polygon.js +4 -2
  129. package/es/common/polygon.js.map +1 -1
  130. package/es/common/segment/curve/cubic-bezier.d.ts +1 -2
  131. package/es/common/segment/curve/cubic-bezier.js +1 -8
  132. package/es/common/segment/curve/cubic-bezier.js.map +1 -1
  133. package/es/common/segment/curve/quadratic-bezier.d.ts +1 -0
  134. package/es/common/segment/curve/quadratic-bezier.js +5 -2
  135. package/es/common/segment/curve/quadratic-bezier.js.map +1 -1
  136. package/es/common/simplify.js +1 -2
  137. package/es/common/split-path.js +2 -1
  138. package/es/core/constants.js +1 -1
  139. package/es/core/core-modules.js +1 -1
  140. package/es/core/global.d.ts +7 -5
  141. package/es/core/global.js +15 -12
  142. package/es/core/global.js.map +1 -1
  143. package/es/core/stage.d.ts +1 -0
  144. package/es/core/stage.js +3 -0
  145. package/es/core/stage.js.map +1 -1
  146. package/es/core/window.d.ts +5 -4
  147. package/es/core/window.js +15 -12
  148. package/es/core/window.js.map +1 -1
  149. package/es/event/event-system.js +11 -10
  150. package/es/event/event-system.js.map +1 -1
  151. package/es/graphic/graphic-service/graphic-service.js +1 -4
  152. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  153. package/es/graphic/graphic.d.ts +1 -0
  154. package/es/graphic/graphic.js +12 -8
  155. package/es/graphic/graphic.js.map +1 -1
  156. package/es/graphic/group.js +8 -15
  157. package/es/graphic/group.js.map +1 -1
  158. package/es/index.d.ts +2 -0
  159. package/es/index.js +4 -0
  160. package/es/index.js.map +1 -1
  161. package/es/interface/event-listener-manager.d.ts +7 -0
  162. package/es/interface/event-listener-manager.js +2 -0
  163. package/es/interface/event-listener-manager.js.map +1 -0
  164. package/es/interface/global.d.ts +2 -1
  165. package/es/interface/global.js.map +1 -1
  166. package/es/interface/graphic.d.ts +1 -1
  167. package/es/interface/graphic.js.map +1 -1
  168. package/es/interface/picker.d.ts +1 -0
  169. package/es/interface/picker.js.map +1 -1
  170. package/es/interface/render.d.ts +3 -0
  171. package/es/interface/render.js.map +1 -1
  172. package/es/interface/window.d.ts +1 -0
  173. package/es/interface/window.js.map +1 -1
  174. package/es/picker/global-picker-service.d.ts +1 -0
  175. package/es/picker/global-picker-service.js +1 -0
  176. package/es/picker/global-picker-service.js.map +1 -1
  177. package/es/picker/picker-service.d.ts +1 -0
  178. package/es/picker/picker-service.js +3 -0
  179. package/es/picker/picker-service.js.map +1 -1
  180. package/es/render/contributions/render/arc-render.d.ts +2 -2
  181. package/es/render/contributions/render/arc-render.js +7 -7
  182. package/es/render/contributions/render/arc-render.js.map +1 -1
  183. package/es/render/contributions/render/area-render.d.ts +2 -2
  184. package/es/render/contributions/render/area-render.js +3 -3
  185. package/es/render/contributions/render/area-render.js.map +1 -1
  186. package/es/render/contributions/render/base-render.d.ts +2 -0
  187. package/es/render/contributions/render/base-render.js +3 -0
  188. package/es/render/contributions/render/base-render.js.map +1 -1
  189. package/es/render/contributions/render/circle-render.d.ts +2 -2
  190. package/es/render/contributions/render/circle-render.js +3 -3
  191. package/es/render/contributions/render/circle-render.js.map +1 -1
  192. package/es/render/contributions/render/draw-contribution.d.ts +1 -0
  193. package/es/render/contributions/render/draw-contribution.js +5 -0
  194. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  195. package/es/render/contributions/render/draw-interceptor.js +2 -2
  196. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  197. package/es/render/contributions/render/glyph-render.d.ts +1 -0
  198. package/es/render/contributions/render/glyph-render.js +1 -0
  199. package/es/render/contributions/render/glyph-render.js.map +1 -1
  200. package/es/render/contributions/render/graphic-render.d.ts +1 -0
  201. package/es/render/contributions/render/graphic-render.js.map +1 -1
  202. package/es/render/contributions/render/group-render.d.ts +1 -0
  203. package/es/render/contributions/render/group-render.js +8 -4
  204. package/es/render/contributions/render/group-render.js.map +1 -1
  205. package/es/render/contributions/render/image-render.d.ts +2 -2
  206. package/es/render/contributions/render/image-render.js +3 -3
  207. package/es/render/contributions/render/image-render.js.map +1 -1
  208. package/es/render/contributions/render/path-render.d.ts +2 -2
  209. package/es/render/contributions/render/path-render.js +3 -3
  210. package/es/render/contributions/render/path-render.js.map +1 -1
  211. package/es/render/contributions/render/polygon-render.d.ts +2 -2
  212. package/es/render/contributions/render/polygon-render.js +3 -3
  213. package/es/render/contributions/render/polygon-render.js.map +1 -1
  214. package/es/render/contributions/render/rect-render.d.ts +2 -2
  215. package/es/render/contributions/render/rect-render.js +3 -3
  216. package/es/render/contributions/render/rect-render.js.map +1 -1
  217. package/es/render/contributions/render/symbol-render.d.ts +2 -2
  218. package/es/render/contributions/render/symbol-render.js +3 -3
  219. package/es/render/contributions/render/symbol-render.js.map +1 -1
  220. package/es/render/contributions/render/text-render.d.ts +2 -2
  221. package/es/render/contributions/render/text-render.js +3 -3
  222. package/es/render/contributions/render/text-render.js.map +1 -1
  223. package/es/render/render-service.d.ts +1 -0
  224. package/es/render/render-service.js +3 -0
  225. package/es/render/render-service.js.map +1 -1
  226. package/package.json +4 -4
package/dist/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import { tau, halfPi as halfPi$1, AABBBounds, degreeToRadian, PointService, Point, abs, max, min, atan2, epsilon, Matrix, pi2, Logger, pi, isArray, isPointInLine, isNumberClose, TextMeasure, EventEmitter, isBoolean, isObject, isFunction, isString, has, isUndefined, cos, sin, pointAt, isNumber, sqrt, Color, DEFAULT_COLORS, LRU, OBBBounds, isNil, normalTransform, isValidUrl, isBase64, acos, lowerCamelCaseToMiddle, isValid, transformBoundsWithMatrix, getContextFont, rotatePoint, clampAngleByRadian, asin, arrayEqual, Bounds, getRectIntersect, isRectIntersect, isEqual, getIntersectPoint, merge, calculateAnchorOfBounds, styleStringToObject } from '@visactor/vutils';
1
+ import { tau, halfPi as halfPi$1, AABBBounds, degreeToRadian, PointService, Point, abs, max, min, atan2, epsilon, Matrix, pi2, Logger, pi, isArray, isPointInLine, isNumberClose, TextMeasure, EventEmitter, isBoolean, isObject, isFunction, isString, has, isUndefined, cos, sin, pointAt, isNumber as isNumber$1, sqrt, Color, DEFAULT_COLORS, LRU, OBBBounds, isNil, normalTransform, isValidUrl, isBase64, acos, lowerCamelCaseToMiddle, isValid, transformBoundsWithMatrix, getContextFont, rotatePoint, clampAngleByRadian, asin, arrayEqual, Bounds, getRectIntersect, isRectIntersect, isEqual, getIntersectPoint, merge, calculateAnchorOfBounds, styleStringToObject } from '@visactor/vutils';
2
2
 
3
3
  class Generator {
4
4
  static GenAutoIncrementId() {
@@ -746,6 +746,7 @@ class ContributionProviderCache {
746
746
  constructor(serviceIdentifier, container) {
747
747
  this.serviceIdentifier = serviceIdentifier;
748
748
  this.container = container;
749
+ ContributionStore.setStore(this.serviceIdentifier, this);
749
750
  }
750
751
  getContributions() {
751
752
  if (!this.caches) {
@@ -756,6 +757,15 @@ class ContributionProviderCache {
756
757
  }
757
758
  return this.caches;
758
759
  }
760
+ refresh() {
761
+ if (!this.caches) {
762
+ return;
763
+ }
764
+ this.caches.length = 0;
765
+ this.container &&
766
+ this.container.isBound(this.serviceIdentifier) &&
767
+ this.caches.push(...this.container.getAll(this.serviceIdentifier));
768
+ }
759
769
  }
760
770
  function bindContributionProvider(bind, id) {
761
771
  bind(ContributionProvider)
@@ -768,6 +778,20 @@ function bindContributionProviderNoSingletonScope(bind, id) {
768
778
  .toDynamicValue(({ container }) => new ContributionProviderCache(id, container))
769
779
  .whenTargetNamed(id);
770
780
  }
781
+ class ContributionStore {
782
+ static getStore(id) {
783
+ return this.store.get(id);
784
+ }
785
+ static setStore(id, cache) {
786
+ this.store.set(id, cache);
787
+ }
788
+ static refreshAllContributions() {
789
+ this.store.forEach(cache => {
790
+ cache.refresh();
791
+ });
792
+ }
793
+ }
794
+ ContributionStore.store = new Map();
771
795
 
772
796
  class Hook {
773
797
  constructor(args, name) {
@@ -852,43 +876,107 @@ const EnvContribution = Symbol.for('EnvContribution');
852
876
  const VGlobal = Symbol.for('VGlobal');
853
877
  const DEFAULT_TEXT_FONT_FAMILY = 'PingFang SC,Helvetica Neue,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol';
854
878
 
879
+ class Application {
880
+ }
881
+ const application = new Application();
882
+
883
+ let idx = 0;
855
884
  class PerformanceRAF {
856
885
  constructor() {
857
- this.nextAnimationFrameCbs = [];
886
+ this.nextAnimationFrameCbs = new Map();
858
887
  this._rafHandle = null;
859
888
  this.runAnimationFrame = (time) => {
860
889
  this._rafHandle = null;
861
890
  const cbs = this.nextAnimationFrameCbs;
862
- this.nextAnimationFrameCbs = [];
863
- for (let i = 0; i < cbs.length; i++) {
864
- if (cbs[i]) {
865
- cbs[i](time);
866
- }
867
- }
891
+ this.nextAnimationFrameCbs = new Map();
892
+ cbs.forEach(cb => cb(time));
868
893
  };
869
894
  this.tryRunAnimationFrameNextFrame = () => {
870
- if (this._rafHandle !== null || this.nextAnimationFrameCbs.length === 0) {
895
+ if (this._rafHandle !== null || this.nextAnimationFrameCbs.size === 0) {
871
896
  return;
872
897
  }
873
- this._rafHandle = vglobal.getRequestAnimationFrame()(this.runAnimationFrame);
898
+ this._rafHandle = application.global.getRequestAnimationFrame()(this.runAnimationFrame);
874
899
  };
875
900
  }
876
901
  addAnimationFrameCb(callback) {
877
- this.nextAnimationFrameCbs.push(callback);
902
+ this.nextAnimationFrameCbs.set(++idx, callback);
878
903
  this.tryRunAnimationFrameNextFrame();
879
- return this.nextAnimationFrameCbs.length - 1;
904
+ return idx;
880
905
  }
881
906
  removeAnimationFrameCb(index) {
882
- if (index >= 0 && index < this.nextAnimationFrameCbs.length) {
883
- this.nextAnimationFrameCbs[index] = null;
907
+ if (this.nextAnimationFrameCbs.has(index)) {
908
+ this.nextAnimationFrameCbs.delete(index);
884
909
  return true;
885
910
  }
886
911
  return false;
887
912
  }
888
913
  }
889
914
 
915
+ class EventListenerManager {
916
+ constructor() {
917
+ this._listenerMap = new Map();
918
+ this._eventListenerTransformer = event => event;
919
+ }
920
+ setEventListenerTransformer(transformer) {
921
+ this._eventListenerTransformer = transformer || (event => event);
922
+ }
923
+ addEventListener(type, listener, options) {
924
+ if (!listener) {
925
+ return;
926
+ }
927
+ const wrappedListener = (event) => {
928
+ const transformedEvent = this._eventListenerTransformer(event);
929
+ if (typeof listener === 'function') {
930
+ listener(transformedEvent);
931
+ }
932
+ else if (listener.handleEvent) {
933
+ listener.handleEvent(transformedEvent);
934
+ }
935
+ };
936
+ if (!this._listenerMap.has(type)) {
937
+ this._listenerMap.set(type, new Map());
938
+ }
939
+ this._listenerMap.get(type).set(listener, wrappedListener);
940
+ this._nativeAddEventListener(type, wrappedListener, options);
941
+ }
942
+ removeEventListener(type, listener, options) {
943
+ var _a;
944
+ if (!listener) {
945
+ return;
946
+ }
947
+ const wrappedListener = (_a = this._listenerMap.get(type)) === null || _a === void 0 ? void 0 : _a.get(listener);
948
+ if (wrappedListener) {
949
+ this._nativeRemoveEventListener(type, wrappedListener, options);
950
+ this._listenerMap.get(type).delete(listener);
951
+ if (this._listenerMap.get(type).size === 0) {
952
+ this._listenerMap.delete(type);
953
+ }
954
+ }
955
+ }
956
+ dispatchEvent(event) {
957
+ return this._nativeDispatchEvent(event);
958
+ }
959
+ clearAllEventListeners() {
960
+ this._listenerMap.forEach((listenersMap, type) => {
961
+ listenersMap.forEach((wrappedListener, originalListener) => {
962
+ this._nativeRemoveEventListener(type, wrappedListener, undefined);
963
+ });
964
+ });
965
+ this._listenerMap.clear();
966
+ }
967
+ _nativeAddEventListener(type, listener, options) {
968
+ throw new Error('_nativeAddEventListener must be implemented by derived classes');
969
+ }
970
+ _nativeRemoveEventListener(type, listener, options) {
971
+ throw new Error('_nativeRemoveEventListener must be implemented by derived classes');
972
+ }
973
+ _nativeDispatchEvent(event) {
974
+ throw new Error('_nativeDispatchEvent must be implemented by derived classes');
975
+ }
976
+ }
977
+
890
978
  const defaultEnv = 'browser';
891
- let DefaultGlobal = class DefaultGlobal {
979
+ let DefaultGlobal = class DefaultGlobal extends EventListenerManager {
892
980
  get env() {
893
981
  return this._env;
894
982
  }
@@ -965,9 +1053,11 @@ let DefaultGlobal = class DefaultGlobal {
965
1053
  this.envContribution.applyStyles = support;
966
1054
  }
967
1055
  constructor(contributions) {
1056
+ super();
968
1057
  this.contributions = contributions;
969
1058
  this._isImageAnonymous = true;
970
1059
  this._performanceRAFList = [];
1060
+ this.eventListenerTransformer = event => event;
971
1061
  this.id = Generator.GenAutoIncrementId();
972
1062
  this.hooks = {
973
1063
  onSetEnv: new SyncHook(['lastEnv', 'env', 'global'])
@@ -975,6 +1065,24 @@ let DefaultGlobal = class DefaultGlobal {
975
1065
  this.measureTextMethod = 'native';
976
1066
  this.optimizeVisible = false;
977
1067
  }
1068
+ _nativeAddEventListener(type, listener, options) {
1069
+ if (!this._env) {
1070
+ this.setEnv(defaultEnv);
1071
+ }
1072
+ return this.envContribution.addEventListener(type, listener, options);
1073
+ }
1074
+ _nativeRemoveEventListener(type, listener, options) {
1075
+ if (!this._env) {
1076
+ this.setEnv(defaultEnv);
1077
+ }
1078
+ return this.envContribution.removeEventListener(type, listener, options);
1079
+ }
1080
+ _nativeDispatchEvent(event) {
1081
+ if (!this._env) {
1082
+ this.setEnv(defaultEnv);
1083
+ }
1084
+ return this.envContribution.dispatchEvent(event);
1085
+ }
978
1086
  bindContribution(params) {
979
1087
  const promiseArr = [];
980
1088
  this.contributions.getContributions().forEach(contribution => {
@@ -1043,24 +1151,6 @@ let DefaultGlobal = class DefaultGlobal {
1043
1151
  }
1044
1152
  return this.envContribution.releaseCanvas(canvas);
1045
1153
  }
1046
- addEventListener(type, listener, options) {
1047
- if (!this._env) {
1048
- this.setEnv(defaultEnv);
1049
- }
1050
- return this.envContribution.addEventListener(type, listener, options);
1051
- }
1052
- removeEventListener(type, listener, options) {
1053
- if (!this._env) {
1054
- this.setEnv(defaultEnv);
1055
- }
1056
- return this.envContribution.removeEventListener(type, listener, options);
1057
- }
1058
- dispatchEvent(event) {
1059
- if (!this._env) {
1060
- this.setEnv(defaultEnv);
1061
- }
1062
- return this.envContribution.dispatchEvent(event);
1063
- }
1064
1154
  getRequestAnimationFrame() {
1065
1155
  if (!this._env) {
1066
1156
  this.setEnv(defaultEnv);
@@ -1788,63 +1878,6 @@ function quadLength(p0, p1, p2, iterationCount) {
1788
1878
  return snapLength([p0.x, p1.x, p2.x], [p0.y, p1.y, p2.y]);
1789
1879
  }
1790
1880
 
1791
- class QuadraticBezierCurve extends Curve {
1792
- constructor(p0, p1, p2) {
1793
- super();
1794
- this.type = CurveTypeEnum.QuadraticBezierCurve;
1795
- this.p0 = p0;
1796
- this.p1 = p1;
1797
- this.p2 = p2;
1798
- }
1799
- _validPoint() {
1800
- return Number.isFinite(this.p0.x + this.p0.y + this.p1.x + this.p1.y + this.p2.x + this.p2.y);
1801
- }
1802
- getPointAt(t) {
1803
- if (this.defined !== false) {
1804
- return quadPointAt(this.p0, this.p1, this.p2, t);
1805
- }
1806
- throw new Error('defined为false的点不能getPointAt');
1807
- }
1808
- calcLength() {
1809
- if (this._validPoint()) {
1810
- return quadLength(this.p0, this.p1, this.p2);
1811
- }
1812
- return 60;
1813
- }
1814
- calcProjLength(direction) {
1815
- if (direction === Direction.ROW) {
1816
- return abs(this.p0.x - this.p2.x);
1817
- }
1818
- else if (direction === Direction.COLUMN) {
1819
- return abs(this.p0.y - this.p2.y);
1820
- }
1821
- return 0;
1822
- }
1823
- getAngleAt(t) {
1824
- const minT = max(t - 0.01, 0);
1825
- const maxT = min(t + 0.01, 1);
1826
- const minP = this.getPointAt(minT);
1827
- const maxP = this.getPointAt(maxT);
1828
- return atan2(maxP.y - minP.y, maxP.x - minP.x);
1829
- }
1830
- draw(path, x, y, sx, sy, percent) {
1831
- path.moveTo(this.p0.x * sx + x, this.p0.y * sy + y);
1832
- if (percent >= 1) {
1833
- path.quadraticCurveTo(this.p1.x * sx + x, this.p1.y * sy + y, this.p2.x * sx + x, this.p2.y * sy + y);
1834
- }
1835
- else if (percent > 0) {
1836
- const [curve1] = divideQuad(this, percent);
1837
- path.quadraticCurveTo(curve1.p1.x * sx + x, curve1.p1.y * sy + y, curve1.p2.x * sx + x, curve1.p2.y * sy + y);
1838
- }
1839
- }
1840
- getYAt(x) {
1841
- throw new Error('QuadraticBezierCurve暂不支持getYAt');
1842
- }
1843
- includeX(x) {
1844
- throw new Error('QuadraticBezierCurve暂不支持includeX');
1845
- }
1846
- }
1847
-
1848
1881
  function divideCubic(curve, t) {
1849
1882
  const { p0, p1, p2, p3 } = curve;
1850
1883
  const pt = cubicPointAt(p0, p1, p2, p3, t);
@@ -1857,15 +1890,6 @@ function divideCubic(curve, t) {
1857
1890
  const curve2 = new CubicBezierCurve(pt, c23, c3, p3);
1858
1891
  return [curve1, curve2];
1859
1892
  }
1860
- function divideQuad(curve, t) {
1861
- const { p0, p1, p2 } = curve;
1862
- const pt = quadPointAt(p0, p1, p2, t);
1863
- const c1 = PointService.pointAtPP(p0, p1, t);
1864
- const c2 = PointService.pointAtPP(p1, p2, t);
1865
- const curve1 = new QuadraticBezierCurve(p0, c1, pt);
1866
- const curve2 = new QuadraticBezierCurve(pt, c2, p2);
1867
- return [curve1, curve2];
1868
- }
1869
1893
  class CubicBezierCurve extends Curve {
1870
1894
  constructor(p0, p1, p2, p3) {
1871
1895
  super();
@@ -2708,6 +2732,72 @@ class CatmullRomClosed {
2708
2732
  }
2709
2733
  const genCatmullRomClosedSegments = commonGenCatmullRomSegments('catmullRomClosed', CatmullRomClosed);
2710
2734
 
2735
+ function divideQuad(curve, t) {
2736
+ const { p0, p1, p2 } = curve;
2737
+ const pt = quadPointAt(p0, p1, p2, t);
2738
+ const c1 = PointService.pointAtPP(p0, p1, t);
2739
+ const c2 = PointService.pointAtPP(p1, p2, t);
2740
+ const curve1 = new QuadraticBezierCurve(p0, c1, pt);
2741
+ const curve2 = new QuadraticBezierCurve(pt, c2, p2);
2742
+ return [curve1, curve2];
2743
+ }
2744
+ class QuadraticBezierCurve extends Curve {
2745
+ constructor(p0, p1, p2) {
2746
+ super();
2747
+ this.type = CurveTypeEnum.QuadraticBezierCurve;
2748
+ this.p0 = p0;
2749
+ this.p1 = p1;
2750
+ this.p2 = p2;
2751
+ }
2752
+ _validPoint() {
2753
+ return Number.isFinite(this.p0.x + this.p0.y + this.p1.x + this.p1.y + this.p2.x + this.p2.y);
2754
+ }
2755
+ getPointAt(t) {
2756
+ if (this.defined !== false) {
2757
+ return quadPointAt(this.p0, this.p1, this.p2, t);
2758
+ }
2759
+ throw new Error('defined为false的点不能getPointAt');
2760
+ }
2761
+ calcLength() {
2762
+ if (this._validPoint()) {
2763
+ return quadLength(this.p0, this.p1, this.p2);
2764
+ }
2765
+ return 60;
2766
+ }
2767
+ calcProjLength(direction) {
2768
+ if (direction === Direction.ROW) {
2769
+ return abs(this.p0.x - this.p2.x);
2770
+ }
2771
+ else if (direction === Direction.COLUMN) {
2772
+ return abs(this.p0.y - this.p2.y);
2773
+ }
2774
+ return 0;
2775
+ }
2776
+ getAngleAt(t) {
2777
+ const minT = max(t - 0.01, 0);
2778
+ const maxT = min(t + 0.01, 1);
2779
+ const minP = this.getPointAt(minT);
2780
+ const maxP = this.getPointAt(maxT);
2781
+ return atan2(maxP.y - minP.y, maxP.x - minP.x);
2782
+ }
2783
+ draw(path, x, y, sx, sy, percent) {
2784
+ path.moveTo(this.p0.x * sx + x, this.p0.y * sy + y);
2785
+ if (percent >= 1) {
2786
+ path.quadraticCurveTo(this.p1.x * sx + x, this.p1.y * sy + y, this.p2.x * sx + x, this.p2.y * sy + y);
2787
+ }
2788
+ else if (percent > 0) {
2789
+ const [curve1] = divideQuad(this, percent);
2790
+ path.quadraticCurveTo(curve1.p1.x * sx + x, curve1.p1.y * sy + y, curve1.p2.x * sx + x, curve1.p2.y * sy + y);
2791
+ }
2792
+ }
2793
+ getYAt(x) {
2794
+ throw new Error('QuadraticBezierCurve暂不支持getYAt');
2795
+ }
2796
+ includeX(x) {
2797
+ throw new Error('QuadraticBezierCurve暂不支持includeX');
2798
+ }
2799
+ }
2800
+
2711
2801
  class CurveContext {
2712
2802
  constructor(path) {
2713
2803
  this.path = path;
@@ -3451,10 +3541,6 @@ const DefaultRichTextAttribute = Object.assign(Object.assign(Object.assign({}, D
3451
3541
  const DefaultImageAttribute = Object.assign(Object.assign({ repeatX: 'no-repeat', repeatY: 'no-repeat', image: '', width: 0, height: 0, maxWidth: 500, maxHeight: 500 }, DefaultAttribute), { fill: true, cornerRadius: 0, cornerType: 'round' });
3452
3542
  const DefaultRichTextIconAttribute = Object.assign(Object.assign({}, DefaultImageAttribute), { backgroundShowMode: 'never', backgroundWidth: 0, backgroundHeight: 0, textAlign: 'left', textBaseline: 'middle', direction: 'horizontal', margin: 0, id: '', width: 20, height: 20, backgroundFill: 'rgba(101, 117, 168, 0.1)', backgroundFillOpacity: 1, backgroundStroke: false, backgroundStrokeOpacity: 1, backgroundRadius: 4, opacity: 1 });
3453
3543
 
3454
- class Application {
3455
- }
3456
- const application = new Application();
3457
-
3458
3544
  const parse = (function () {
3459
3545
  const tokens = {
3460
3546
  linearGradient: /^(linear\-gradient)/i,
@@ -4594,6 +4680,9 @@ function isAroundZero(val) {
4594
4680
  function isNotAroundZero(val) {
4595
4681
  return val > EPSILON || val < -EPSILON;
4596
4682
  }
4683
+ function isNumber(data) {
4684
+ return typeof data === 'number' && Number.isFinite(data);
4685
+ }
4597
4686
  const _v0 = [0, 0];
4598
4687
  const _v1 = [0, 0];
4599
4688
  const _v2 = [0, 0];
@@ -5330,7 +5419,7 @@ const canvasAllocate = new DefaultCanvasAllocate();
5330
5419
 
5331
5420
  const VWindow = Symbol.for('VWindow');
5332
5421
  const WindowHandlerContribution = Symbol.for('WindowHandlerContribution');
5333
- let DefaultWindow = class DefaultWindow {
5422
+ let DefaultWindow = class DefaultWindow extends EventListenerManager {
5334
5423
  get width() {
5335
5424
  if (this._handler) {
5336
5425
  const wh = this._handler.getWH();
@@ -5349,6 +5438,7 @@ let DefaultWindow = class DefaultWindow {
5349
5438
  return this._handler.getDpr();
5350
5439
  }
5351
5440
  constructor() {
5441
+ super();
5352
5442
  this.hooks = {
5353
5443
  onChange: new SyncHook(['x', 'y', 'width', 'height'])
5354
5444
  };
@@ -5365,6 +5455,15 @@ let DefaultWindow = class DefaultWindow {
5365
5455
  this.global = application.global;
5366
5456
  this.postInit();
5367
5457
  }
5458
+ _nativeAddEventListener(type, listener, options) {
5459
+ return this._handler.addEventListener(type, listener, options);
5460
+ }
5461
+ _nativeRemoveEventListener(type, listener, options) {
5462
+ return this._handler.removeEventListener(type, listener, options);
5463
+ }
5464
+ _nativeDispatchEvent(event) {
5465
+ return this._handler.dispatchEvent(event);
5466
+ }
5368
5467
  postInit() {
5369
5468
  this.global.hooks.onSetEnv.tap('window', this.active);
5370
5469
  this.active();
@@ -5410,6 +5509,7 @@ let DefaultWindow = class DefaultWindow {
5410
5509
  }
5411
5510
  release() {
5412
5511
  this.global.hooks.onSetEnv.unTap('window', this.active);
5512
+ this.clearAllEventListeners();
5413
5513
  return this._handler.releaseWindow();
5414
5514
  }
5415
5515
  getContext() {
@@ -5424,15 +5524,6 @@ let DefaultWindow = class DefaultWindow {
5424
5524
  }
5425
5525
  return this._handler.getImageBuffer(type);
5426
5526
  }
5427
- addEventListener(type, listener, options) {
5428
- return this._handler.addEventListener(type, listener, options);
5429
- }
5430
- removeEventListener(type, listener, options) {
5431
- return this._handler.removeEventListener(type, listener, options);
5432
- }
5433
- dispatchEvent(event) {
5434
- return this._handler.dispatchEvent(event);
5435
- }
5436
5527
  getBoundingClientRect() {
5437
5528
  return this._handler.getBoundingClientRect();
5438
5529
  }
@@ -7492,8 +7583,8 @@ class EventSystem {
7492
7583
  const { globalObj, domElement } = this;
7493
7584
  if (this.supportsPointerEvents) {
7494
7585
  if (globalObj.getDocument()) {
7495
- globalObj.getDocument().addEventListener('pointermove', this.onPointerMove, true);
7496
- globalObj.getDocument().addEventListener('pointerup', this.onPointerUp, true);
7586
+ globalObj.addEventListener('pointermove', this.onPointerMove, true);
7587
+ globalObj.addEventListener('pointerup', this.onPointerUp, true);
7497
7588
  }
7498
7589
  else {
7499
7590
  domElement.addEventListener('pointermove', this.onPointerMove, true);
@@ -7505,8 +7596,8 @@ class EventSystem {
7505
7596
  }
7506
7597
  else {
7507
7598
  if (globalObj.getDocument()) {
7508
- globalObj.getDocument().addEventListener('mousemove', this.onPointerMove, true);
7509
- globalObj.getDocument().addEventListener('mouseup', this.onPointerUp, true);
7599
+ globalObj.addEventListener('mousemove', this.onPointerMove, true);
7600
+ globalObj.addEventListener('mouseup', this.onPointerUp, true);
7510
7601
  }
7511
7602
  else {
7512
7603
  domElement.addEventListener('mousemove', this.onPointerMove, true);
@@ -7527,22 +7618,32 @@ class EventSystem {
7527
7618
  this.eventsAdded = true;
7528
7619
  }
7529
7620
  removeEvents() {
7530
- var _a;
7531
7621
  if (!this.eventsAdded || !this.domElement) {
7532
7622
  return;
7533
7623
  }
7534
7624
  const { globalObj, domElement } = this;
7535
- const globalDocument = (_a = globalObj.getDocument()) !== null && _a !== void 0 ? _a : domElement;
7536
7625
  if (this.supportsPointerEvents) {
7537
- globalDocument.removeEventListener('pointermove', this.onPointerMove, true);
7538
- globalDocument.removeEventListener('pointerup', this.onPointerUp, true);
7626
+ if (globalObj.getDocument()) {
7627
+ globalObj.removeEventListener('pointermove', this.onPointerMove, true);
7628
+ globalObj.removeEventListener('pointerup', this.onPointerUp, true);
7629
+ }
7630
+ else {
7631
+ domElement.removeEventListener('pointermove', this.onPointerMove, true);
7632
+ domElement.removeEventListener('pointerup', this.onPointerUp, true);
7633
+ }
7539
7634
  domElement.removeEventListener('pointerdown', this.onPointerDown, true);
7540
7635
  domElement.removeEventListener('pointerleave', this.onPointerOverOut, true);
7541
7636
  domElement.removeEventListener('pointerover', this.onPointerOverOut, true);
7542
7637
  }
7543
7638
  else {
7544
- globalDocument.removeEventListener('mousemove', this.onPointerMove, true);
7545
- globalDocument.removeEventListener('mouseup', this.onPointerUp, true);
7639
+ if (globalObj.getDocument()) {
7640
+ globalObj.removeEventListener('mousemove', this.onPointerMove, true);
7641
+ globalObj.removeEventListener('mouseup', this.onPointerUp, true);
7642
+ }
7643
+ else {
7644
+ domElement.removeEventListener('mousemove', this.onPointerMove, true);
7645
+ domElement.removeEventListener('mouseup', this.onPointerUp, true);
7646
+ }
7546
7647
  domElement.removeEventListener('mousedown', this.onPointerDown, true);
7547
7648
  domElement.removeEventListener('mouseout', this.onPointerOverOut, true);
7548
7649
  domElement.removeEventListener('mouseover', this.onPointerOverOut, true);
@@ -8197,7 +8298,7 @@ const calculateLineHeight = (lineHeight, fontSize) => {
8197
8298
 
8198
8299
  class BaseSymbol {
8199
8300
  bounds(size, bounds) {
8200
- if (isNumber(size)) {
8301
+ if (isNumber$1(size)) {
8201
8302
  const halfS = size / 2;
8202
8303
  bounds.x1 = -halfS;
8203
8304
  bounds.x2 = halfS;
@@ -8212,7 +8313,7 @@ class BaseSymbol {
8212
8313
  }
8213
8314
  }
8214
8315
  parseSize(size) {
8215
- return isNumber(size) ? size : Math.min(size[0], size[1]);
8316
+ return isNumber$1(size) ? size : Math.min(size[0], size[1]);
8216
8317
  }
8217
8318
  }
8218
8319
 
@@ -8823,13 +8924,13 @@ class RectSymbol extends BaseSymbol {
8823
8924
  this.pathStr = 'M -0.5,0.25 L 0.5,0.25 L 0.5,-0.25,L -0.5,-0.25 Z';
8824
8925
  }
8825
8926
  draw(ctx, size, x, y) {
8826
- if (isNumber(size)) {
8927
+ if (isNumber$1(size)) {
8827
8928
  return rectSize(ctx, size, x, y);
8828
8929
  }
8829
8930
  return rectSizeArray(ctx, size, x, y);
8830
8931
  }
8831
8932
  drawWithClipRange(ctx, size, x, y, clipRange, z, cb) {
8832
- if (isNumber(size)) {
8933
+ if (isNumber$1(size)) {
8833
8934
  size = [size, size / 2];
8834
8935
  }
8835
8936
  const totalLength = (size[0] + size[1]) * 2;
@@ -8861,7 +8962,7 @@ class RectSymbol extends BaseSymbol {
8861
8962
  return false;
8862
8963
  }
8863
8964
  drawOffset(ctx, size, x, y, offset) {
8864
- if (isNumber(size)) {
8965
+ if (isNumber$1(size)) {
8865
8966
  return rectSize(ctx, size + 2 * offset, x, y);
8866
8967
  }
8867
8968
  return rectSizeArray(ctx, [size[0] + 2 * offset, size[1] + 2 * offset], x, y);
@@ -8903,7 +9004,7 @@ class CustomSymbolClass {
8903
9004
  return this.drawOffset(ctx, size, x, y, 0, z, cb);
8904
9005
  }
8905
9006
  parseSize(size) {
8906
- return isNumber(size) ? size : Math.min(size[0], size[1]);
9007
+ return isNumber$1(size) ? size : Math.min(size[0], size[1]);
8907
9008
  }
8908
9009
  drawWithClipRange(ctx, size, x, y, clipRange, z, cb) {
8909
9010
  size = this.parseSize(size);
@@ -10479,7 +10580,7 @@ ColorStore.store255 = {};
10479
10580
  ColorStore.store1 = {};
10480
10581
 
10481
10582
  function colorArrayToString(color, alphaChannel = false) {
10482
- if (Array.isArray(color) && isNumber(color[0])) {
10583
+ if (Array.isArray(color) && isNumber$1(color[0])) {
10483
10584
  return alphaChannel
10484
10585
  ? `rgb(${Math.round(color[0])},${Math.round(color[1])},${Math.round(color[2])},${color[3].toFixed(2)})`
10485
10586
  : `rgb(${Math.round(color[0])},${Math.round(color[1])},${Math.round(color[2])})`;
@@ -10487,7 +10588,7 @@ function colorArrayToString(color, alphaChannel = false) {
10487
10588
  return color;
10488
10589
  }
10489
10590
  function interpolateColor(from, to, ratio, alphaChannel, cb) {
10490
- if ((Array.isArray(from) && !isNumber(from[0])) || (Array.isArray(to) && !isNumber(to[0]))) {
10591
+ if ((Array.isArray(from) && !isNumber$1(from[0])) || (Array.isArray(to) && !isNumber$1(to[0]))) {
10491
10592
  const out = new Array(4).fill(0).map((_, index) => {
10492
10593
  var _a, _b;
10493
10594
  return _interpolateColor(isArray(from) ? ((_a = from[index]) !== null && _a !== void 0 ? _a : from[0]) : from, isArray(to) ? ((_b = to[index]) !== null && _b !== void 0 ? _b : to[0]) : to, ratio, alphaChannel);
@@ -10919,6 +11020,10 @@ class Graphic extends Node {
10919
11020
  this.setShadowGraphic(params.shadowGraphic);
10920
11021
  }
10921
11022
  }
11023
+ getGraphicService() {
11024
+ var _a, _b;
11025
+ return (_b = (_a = this.stage) === null || _a === void 0 ? void 0 : _a.graphicService) !== null && _b !== void 0 ? _b : application.graphicService;
11026
+ }
10922
11027
  getAttributes() {
10923
11028
  return this.attribute;
10924
11029
  }
@@ -10949,7 +11054,6 @@ class Graphic extends Node {
10949
11054
  this._emitCustomEvent('animate-bind', animate);
10950
11055
  }
10951
11056
  tryUpdateAABBBounds() {
10952
- var _a, _b;
10953
11057
  const full = this.attribute.boundsMode === 'imprecise';
10954
11058
  if (!this.shouldUpdateAABBBounds()) {
10955
11059
  return this._AABBBounds;
@@ -10958,9 +11062,9 @@ class Graphic extends Node {
10958
11062
  this._AABBBounds.clear();
10959
11063
  return this._AABBBounds;
10960
11064
  }
10961
- (_a = this.stage) === null || _a === void 0 ? void 0 : _a.graphicService.beforeUpdateAABBBounds(this, this.stage, true, this._AABBBounds);
11065
+ this.getGraphicService().beforeUpdateAABBBounds(this, this.stage, true, this._AABBBounds);
10962
11066
  const bounds = this.doUpdateAABBBounds(full);
10963
- (_b = this.stage) === null || _b === void 0 ? void 0 : _b.graphicService.afterUpdateAABBBounds(this, this.stage, this._AABBBounds, this, true);
11067
+ this.getGraphicService().afterUpdateAABBBounds(this, this.stage, this._AABBBounds, this, true);
10964
11068
  if (this.attribute.boundsMode === 'empty') {
10965
11069
  bounds.clear();
10966
11070
  }
@@ -11137,10 +11241,10 @@ class Graphic extends Node {
11137
11241
  shouldUpdateAABBBounds() {
11138
11242
  if (this.shadowRoot) {
11139
11243
  return ((!!(this._updateTag & UpdateTag.UPDATE_BOUNDS) || this.shadowRoot.shouldUpdateAABBBounds()) &&
11140
- application.graphicService.validCheck(this.attribute, this.getGraphicTheme(), this._AABBBounds, this));
11244
+ this.getGraphicService().validCheck(this.attribute, this.getGraphicTheme(), this._AABBBounds, this));
11141
11245
  }
11142
11246
  return (!!(this._updateTag & UpdateTag.UPDATE_BOUNDS) &&
11143
- application.graphicService.validCheck(this.attribute, this.getGraphicTheme(), this._AABBBounds, this));
11247
+ this.getGraphicService().validCheck(this.attribute, this.getGraphicTheme(), this._AABBBounds, this));
11144
11248
  }
11145
11249
  shouldSelfChangeUpdateAABBBounds() {
11146
11250
  if (this.shadowRoot) {
@@ -11451,11 +11555,10 @@ class Graphic extends Node {
11451
11555
  return this;
11452
11556
  }
11453
11557
  onAttributeUpdate(context) {
11454
- var _a;
11455
11558
  if (context && context.skipUpdateCallback) {
11456
11559
  return;
11457
11560
  }
11458
- (_a = this.stage) === null || _a === void 0 ? void 0 : _a.graphicService.onAttributeUpdate(this);
11561
+ this.getGraphicService().onAttributeUpdate(this);
11459
11562
  this._emitCustomEvent('afterAttributeUpdate', context);
11460
11563
  }
11461
11564
  update(d) {
@@ -11518,6 +11621,7 @@ class Graphic extends Node {
11518
11621
  this.stopStateAnimates();
11519
11622
  this.setAttributesAndPreventAnimate(attrs, false, { type: AttributeUpdateType.STATE });
11520
11623
  }
11624
+ this._emitCustomEvent('afterStateUpdate', { type: AttributeUpdateType.STATE });
11521
11625
  }
11522
11626
  updateNormalAttrs(stateAttrs) {
11523
11627
  const newNormalAttrs = {};
@@ -11747,7 +11851,6 @@ class Graphic extends Node {
11747
11851
  }
11748
11852
  }
11749
11853
  setStage(stage, layer) {
11750
- var _a;
11751
11854
  if (this.stage !== stage) {
11752
11855
  this.stage = stage;
11753
11856
  this.layer = layer;
@@ -11762,7 +11865,7 @@ class Graphic extends Node {
11762
11865
  });
11763
11866
  }
11764
11867
  this._onSetStage && this._onSetStage(this, stage, layer);
11765
- (_a = this.stage) === null || _a === void 0 ? void 0 : _a.graphicService.onSetStage(this, stage);
11868
+ this.getGraphicService().onSetStage(this, stage);
11766
11869
  }
11767
11870
  }
11768
11871
  setStageToShadowRoot(stage, layer) {
@@ -12014,15 +12117,14 @@ class Group extends Graphic {
12014
12117
  return false;
12015
12118
  }
12016
12119
  tryUpdateAABBBounds() {
12017
- var _a, _b;
12018
12120
  if (!this.shouldUpdateAABBBounds()) {
12019
12121
  return this._AABBBounds;
12020
12122
  }
12021
- (_a = this.stage) === null || _a === void 0 ? void 0 : _a.graphicService.beforeUpdateAABBBounds(this, this.stage, true, this._AABBBounds);
12123
+ this.getGraphicService().beforeUpdateAABBBounds(this, this.stage, true, this._AABBBounds);
12022
12124
  const selfChange = this.shouldSelfChangeUpdateAABBBounds();
12023
12125
  const bounds = this.doUpdateAABBBounds();
12024
12126
  this.addUpdateLayoutTag();
12025
- (_b = this.stage) === null || _b === void 0 ? void 0 : _b.graphicService.afterUpdateAABBBounds(this, this.stage, this._AABBBounds, this, selfChange);
12127
+ this.getGraphicService().afterUpdateAABBBounds(this, this.stage, this._AABBBounds, this, selfChange);
12026
12128
  if (this.attribute.boundsMode === 'empty') {
12027
12129
  bounds.clear();
12028
12130
  }
@@ -12091,21 +12193,19 @@ class Group extends Graphic {
12091
12193
  return this.theme.getTheme(this);
12092
12194
  }
12093
12195
  incrementalAppendChild(node) {
12094
- var _a;
12095
12196
  const data = super.appendChild(node);
12096
12197
  if (this.stage && data) {
12097
12198
  data.stage = this.stage;
12098
12199
  data.layer = this.layer;
12099
12200
  }
12100
12201
  this.addUpdateBoundTag();
12101
- (_a = this.stage) === null || _a === void 0 ? void 0 : _a.graphicService.onAddIncremental(node, this, this.stage);
12202
+ this.getGraphicService().onAddIncremental(node, this, this.stage);
12102
12203
  return data;
12103
12204
  }
12104
12205
  incrementalClearChild() {
12105
- var _a;
12106
12206
  super.removeAllChild();
12107
12207
  this.addUpdateBoundTag();
12108
- (_a = this.stage) === null || _a === void 0 ? void 0 : _a.graphicService.onClearIncremental(this, this.stage);
12208
+ this.getGraphicService().onClearIncremental(this, this.stage);
12109
12209
  return;
12110
12210
  }
12111
12211
  _updateChildToStage(child) {
@@ -12133,17 +12233,15 @@ class Group extends Graphic {
12133
12233
  return this._updateChildToStage(super.insertInto(newNode, idx));
12134
12234
  }
12135
12235
  removeChild(child) {
12136
- var _a;
12137
12236
  const data = super.removeChild(child);
12138
12237
  child.stage = null;
12139
- (_a = this.stage) === null || _a === void 0 ? void 0 : _a.graphicService.onRemove(child);
12238
+ this.getGraphicService().onRemove(child);
12140
12239
  this.addUpdateBoundTag();
12141
12240
  return data;
12142
12241
  }
12143
12242
  removeAllChild(deep = false) {
12144
12243
  this.forEachChildren((child) => {
12145
- var _a;
12146
- (_a = this.stage) === null || _a === void 0 ? void 0 : _a.graphicService.onRemove(child);
12244
+ this.getGraphicService().onRemove(child);
12147
12245
  if (deep && child.isContainer) {
12148
12246
  child.removeAllChild(deep);
12149
12247
  }
@@ -12152,13 +12250,12 @@ class Group extends Graphic {
12152
12250
  this.addUpdateBoundTag();
12153
12251
  }
12154
12252
  setStage(stage, layer) {
12155
- var _a;
12156
12253
  if (this.stage !== stage) {
12157
12254
  this.stage = stage;
12158
12255
  this.layer = layer;
12159
12256
  this.setStageToShadowRoot(stage, layer);
12160
12257
  this._onSetStage && this._onSetStage(this, stage, layer);
12161
- (_a = this.stage) === null || _a === void 0 ? void 0 : _a.graphicService.onSetStage(this, stage);
12258
+ this.getGraphicService().onSetStage(this, stage);
12162
12259
  this.forEachChildren(item => {
12163
12260
  item.setStage(stage, this.layer);
12164
12261
  });
@@ -13048,12 +13145,12 @@ let DefaultGraphicService = class DefaultGraphicService {
13048
13145
  updateHTMLTextAABBBounds(attribute, textTheme, aabbBounds, graphic) {
13049
13146
  const { textAlign, textBaseline } = attribute;
13050
13147
  if (attribute.forceBoundsHeight != null) {
13051
- const h = isNumber(attribute.forceBoundsHeight) ? attribute.forceBoundsHeight : attribute.forceBoundsHeight();
13148
+ const h = isNumber$1(attribute.forceBoundsHeight) ? attribute.forceBoundsHeight : attribute.forceBoundsHeight();
13052
13149
  const dy = textLayoutOffsetY(textBaseline, h, h);
13053
13150
  aabbBounds.set(aabbBounds.x1, dy, aabbBounds.x2, dy + h);
13054
13151
  }
13055
13152
  if (attribute.forceBoundsWidth != null) {
13056
- const w = isNumber(attribute.forceBoundsWidth) ? attribute.forceBoundsWidth : attribute.forceBoundsWidth();
13153
+ const w = isNumber$1(attribute.forceBoundsWidth) ? attribute.forceBoundsWidth : attribute.forceBoundsWidth();
13057
13154
  const dx = textDrawOffsetX(textAlign, w);
13058
13155
  aabbBounds.set(dx, aabbBounds.y1, dx + w, aabbBounds.y2);
13059
13156
  }
@@ -13108,7 +13205,7 @@ let DefaultGraphicService = class DefaultGraphicService {
13108
13205
  if (!(graphic.valid && visible)) {
13109
13206
  if (!aabbBounds.empty()) {
13110
13207
  graphic.parent && aabbBounds.transformWithMatrix(graphic.parent.globalTransMatrix);
13111
- application.graphicService.clearAABBBounds(graphic, graphic.stage, aabbBounds);
13208
+ this.clearAABBBounds(graphic, graphic.stage, aabbBounds);
13112
13209
  aabbBounds.clear();
13113
13210
  }
13114
13211
  return false;
@@ -15954,7 +16051,7 @@ class RichText extends Graphic {
15954
16051
  }
15955
16052
  else {
15956
16053
  const richTextConfig = this.combinedStyleToCharacter(textConfig[i]);
15957
- if (isNumber(richTextConfig.text)) {
16054
+ if (isNumber$1(richTextConfig.text)) {
15958
16055
  richTextConfig.text = `${richTextConfig.text}`;
15959
16056
  }
15960
16057
  if (richTextConfig.text && richTextConfig.text.includes('\n')) {
@@ -16380,7 +16477,7 @@ class Arc extends Graphic {
16380
16477
  }
16381
16478
  const deltaRadius = Math.abs(outerRadius - innerRadius);
16382
16479
  const parseCR = (cornerRadius) => {
16383
- return Math.min(isNumber(cornerRadius, true)
16480
+ return Math.min(isNumber$1(cornerRadius, true)
16384
16481
  ? cornerRadius
16385
16482
  : (deltaRadius * parseFloat(cornerRadius)) / 100, deltaRadius / 2);
16386
16483
  };
@@ -17614,7 +17711,7 @@ function createRectPath(path, x, y, width, height, rectCornerRadius, roundCorner
17614
17711
  height = -height;
17615
17712
  }
17616
17713
  let cornerRadius;
17617
- if (isNumber(rectCornerRadius, true)) {
17714
+ if (isNumber$1(rectCornerRadius, true)) {
17618
17715
  rectCornerRadius = abs(rectCornerRadius);
17619
17716
  cornerRadius = [
17620
17717
  rectCornerRadius,
@@ -18024,6 +18121,9 @@ class BaseRender {
18024
18121
  this._afterRenderContribitions = this._renderContribitions.filter(c => c.time === BaseRenderContributionTime.afterFillStroke);
18025
18122
  }
18026
18123
  }
18124
+ reInit() {
18125
+ this.init(this.graphicRenderContributions);
18126
+ }
18027
18127
  beforeRenderStep(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb, params) {
18028
18128
  this._beforeRenderContribitions &&
18029
18129
  this._beforeRenderContribitions.forEach(c => {
@@ -18252,16 +18352,16 @@ class BaseRender {
18252
18352
  }
18253
18353
 
18254
18354
  let DefaultCanvasArcRender = class DefaultCanvasArcRender extends BaseRender {
18255
- constructor(arcRenderContribitions) {
18355
+ constructor(graphicRenderContributions) {
18256
18356
  super();
18257
- this.arcRenderContribitions = arcRenderContribitions;
18357
+ this.graphicRenderContributions = graphicRenderContributions;
18258
18358
  this.numberType = ARC_NUMBER_TYPE;
18259
18359
  this.builtinContributions = [
18260
18360
  defaultArcRenderContribution,
18261
18361
  defaultArcBackgroundRenderContribution,
18262
18362
  defaultArcTextureRenderContribution
18263
18363
  ];
18264
- this.init(arcRenderContribitions);
18364
+ this.init(graphicRenderContributions);
18265
18365
  }
18266
18366
  drawArcTailCapPath(arc, context, cx, cy, outerRadius, innerRadius, _sa, _ea) {
18267
18367
  const capAngle = _ea - _sa;
@@ -18357,10 +18457,10 @@ let DefaultCanvasArcRender = class DefaultCanvasArcRender extends BaseRender {
18357
18457
  this.beforeRenderStep(arc, context, x, y, doFill, doStroke, fVisible, sVisible, arcAttribute, drawContext, fillCb, strokeCb);
18358
18458
  if (!fillStrokeOrder) {
18359
18459
  this._runFill(arc, context, x, y, arcAttribute, doFill, fVisible, originX, originY, fillCb);
18360
- this._runStroke(arc, context, x, y, arcAttribute, doStroke, sVisible, strokeCb);
18460
+ this._runStroke(arc, context, x, y, arcAttribute, doStroke, isFullStroke, sVisible, strokeCb);
18361
18461
  }
18362
18462
  else {
18363
- this._runStroke(arc, context, x, y, arcAttribute, doStroke, sVisible, strokeCb);
18463
+ this._runStroke(arc, context, x, y, arcAttribute, doStroke, isFullStroke, sVisible, strokeCb);
18364
18464
  this._runFill(arc, context, x, y, arcAttribute, doFill, fVisible, originX, originY, fillCb);
18365
18465
  }
18366
18466
  }
@@ -18441,8 +18541,8 @@ let DefaultCanvasArcRender = class DefaultCanvasArcRender extends BaseRender {
18441
18541
  }
18442
18542
  }
18443
18543
  }
18444
- _runStroke(arc, context, x, y, arcAttribute, doStroke, sVisible, strokeCb) {
18445
- if (doStroke) {
18544
+ _runStroke(arc, context, x, y, arcAttribute, doStroke, isFullStroke, sVisible, strokeCb) {
18545
+ if (doStroke && isFullStroke) {
18446
18546
  if (strokeCb) ;
18447
18547
  else if (sVisible) {
18448
18548
  context.setStrokeStyle(arc, arc.attribute, x, y, arcAttribute);
@@ -18463,16 +18563,16 @@ DefaultCanvasArcRender = __decorate([
18463
18563
  ], DefaultCanvasArcRender);
18464
18564
 
18465
18565
  let DefaultCanvasCircleRender = class DefaultCanvasCircleRender extends BaseRender {
18466
- constructor(circleRenderContribitions) {
18566
+ constructor(graphicRenderContributions) {
18467
18567
  super();
18468
- this.circleRenderContribitions = circleRenderContribitions;
18568
+ this.graphicRenderContributions = graphicRenderContributions;
18469
18569
  this.numberType = CIRCLE_NUMBER_TYPE;
18470
18570
  this.builtinContributions = [
18471
18571
  defaultCircleRenderContribution,
18472
18572
  defaultCircleBackgroundRenderContribution,
18473
18573
  defaultCircleTextureRenderContribution
18474
18574
  ];
18475
- this.init(circleRenderContribitions);
18575
+ this.init(graphicRenderContributions);
18476
18576
  }
18477
18577
  drawShape(circle, context, x, y, drawContext, params, fillCb, strokeCb) {
18478
18578
  const circleAttribute = getTheme(circle, params === null || params === void 0 ? void 0 : params.theme).circle;
@@ -19071,12 +19171,12 @@ const defaultAreaTextureRenderContribution = new DefaultAreaTextureRenderContrib
19071
19171
  const defaultAreaBackgroundRenderContribution = defaultBaseBackgroundRenderContribution;
19072
19172
 
19073
19173
  let DefaultCanvasAreaRender = class DefaultCanvasAreaRender extends BaseRender {
19074
- constructor(areaRenderContribitions) {
19174
+ constructor(graphicRenderContributions) {
19075
19175
  super();
19076
- this.areaRenderContribitions = areaRenderContribitions;
19176
+ this.graphicRenderContributions = graphicRenderContributions;
19077
19177
  this.numberType = AREA_NUMBER_TYPE;
19078
19178
  this.builtinContributions = [defaultAreaTextureRenderContribution, defaultAreaBackgroundRenderContribution];
19079
- this.init(areaRenderContribitions);
19179
+ this.init(graphicRenderContributions);
19080
19180
  }
19081
19181
  drawLinearAreaHighPerformance(area, context, fill, stroke, fillOpacity, strokeOpacity, offsetX, offsetY, areaAttribute, drawContext, params, fillCb, strokeCb) {
19082
19182
  var _a, _b, _c;
@@ -19387,12 +19487,12 @@ const defaultPathTextureRenderContribution = defaultBaseTextureRenderContributio
19387
19487
  const defaultPathBackgroundRenderContribution = defaultBaseBackgroundRenderContribution;
19388
19488
 
19389
19489
  let DefaultCanvasPathRender = class DefaultCanvasPathRender extends BaseRender {
19390
- constructor(pathRenderContribitions) {
19490
+ constructor(graphicRenderContributions) {
19391
19491
  super();
19392
- this.pathRenderContribitions = pathRenderContribitions;
19492
+ this.graphicRenderContributions = graphicRenderContributions;
19393
19493
  this.numberType = PATH_NUMBER_TYPE;
19394
19494
  this.builtinContributions = [defaultPathBackgroundRenderContribution, defaultPathTextureRenderContribution];
19395
- this.init(pathRenderContribitions);
19495
+ this.init(graphicRenderContributions);
19396
19496
  }
19397
19497
  drawShape(path, context, x, y, drawContext, params, fillCb, strokeCb) {
19398
19498
  var _a, _b, _c;
@@ -19461,9 +19561,9 @@ DefaultCanvasPathRender = __decorate([
19461
19561
  ], DefaultCanvasPathRender);
19462
19562
 
19463
19563
  let DefaultCanvasRectRender = class DefaultCanvasRectRender extends BaseRender {
19464
- constructor(rectRenderContribitions) {
19564
+ constructor(graphicRenderContributions) {
19465
19565
  super();
19466
- this.rectRenderContribitions = rectRenderContribitions;
19566
+ this.graphicRenderContributions = graphicRenderContributions;
19467
19567
  this.type = 'rect';
19468
19568
  this.numberType = RECT_NUMBER_TYPE;
19469
19569
  this.builtinContributions = [
@@ -19471,7 +19571,7 @@ let DefaultCanvasRectRender = class DefaultCanvasRectRender extends BaseRender {
19471
19571
  defaultRectBackgroundRenderContribution,
19472
19572
  defaultRectTextureRenderContribution
19473
19573
  ];
19474
- this.init(rectRenderContribitions);
19574
+ this.init(graphicRenderContributions);
19475
19575
  }
19476
19576
  drawShape(rect, context, x, y, drawContext, params, fillCb, strokeCb, rectAttribute) {
19477
19577
  rectAttribute = rectAttribute !== null && rectAttribute !== void 0 ? rectAttribute : getTheme(rect, params === null || params === void 0 ? void 0 : params.theme).rect;
@@ -19551,9 +19651,9 @@ DefaultCanvasRectRender = __decorate([
19551
19651
  ], DefaultCanvasRectRender);
19552
19652
 
19553
19653
  let DefaultCanvasSymbolRender = class DefaultCanvasSymbolRender extends BaseRender {
19554
- constructor(symbolRenderContribitions) {
19654
+ constructor(graphicRenderContributions) {
19555
19655
  super();
19556
- this.symbolRenderContribitions = symbolRenderContribitions;
19656
+ this.graphicRenderContributions = graphicRenderContributions;
19557
19657
  this.numberType = SYMBOL_NUMBER_TYPE;
19558
19658
  this.builtinContributions = [
19559
19659
  defaultSymbolRenderContribution,
@@ -19561,7 +19661,7 @@ let DefaultCanvasSymbolRender = class DefaultCanvasSymbolRender extends BaseRend
19561
19661
  defaultSymbolTextureRenderContribution,
19562
19662
  defaultSymbolClipRangeStrokeRenderContribution
19563
19663
  ];
19564
- this.init(symbolRenderContribitions);
19664
+ this.init(graphicRenderContributions);
19565
19665
  }
19566
19666
  drawShape(symbol, context, x, y, drawContext, params, fillCb, strokeCb, symbolAttribute) {
19567
19667
  var _a;
@@ -19815,12 +19915,12 @@ class DefaultTextBackgroundRenderContribution extends DefaultBaseBackgroundRende
19815
19915
  const defaultTextBackgroundRenderContribution = new DefaultTextBackgroundRenderContribution();
19816
19916
 
19817
19917
  let DefaultCanvasTextRender = class DefaultCanvasTextRender extends BaseRender {
19818
- constructor(textRenderContribitions) {
19918
+ constructor(graphicRenderContributions) {
19819
19919
  super();
19820
- this.textRenderContribitions = textRenderContribitions;
19920
+ this.graphicRenderContributions = graphicRenderContributions;
19821
19921
  this.numberType = TEXT_NUMBER_TYPE;
19822
19922
  this.builtinContributions = [defaultTextBackgroundRenderContribution];
19823
- this.init(textRenderContribitions);
19923
+ this.init(graphicRenderContributions);
19824
19924
  }
19825
19925
  drawShape(text, context, x, y, drawContext, params, fillCb, strokeCb) {
19826
19926
  var _a, _b, _c;
@@ -20008,6 +20108,9 @@ AbstractGraphicRender = __decorate([
20008
20108
  ], AbstractGraphicRender);
20009
20109
 
20010
20110
  function drawPolygon(path, points, x, y) {
20111
+ if (!points || !points.length) {
20112
+ return;
20113
+ }
20011
20114
  path.moveTo(points[0].x + x, points[0].y + y);
20012
20115
  for (let i = 1; i < points.length; i++) {
20013
20116
  path.lineTo(points[i].x + x, points[i].y + y);
@@ -20092,12 +20195,12 @@ const defaultPolygonTextureRenderContribution = defaultBaseTextureRenderContribu
20092
20195
  const defaultPolygonBackgroundRenderContribution = defaultBaseBackgroundRenderContribution;
20093
20196
 
20094
20197
  let DefaultCanvasPolygonRender = class DefaultCanvasPolygonRender extends BaseRender {
20095
- constructor(polygonRenderContribitions) {
20198
+ constructor(graphicRenderContributions) {
20096
20199
  super();
20097
- this.polygonRenderContribitions = polygonRenderContribitions;
20200
+ this.graphicRenderContributions = graphicRenderContributions;
20098
20201
  this.numberType = POLYGON_NUMBER_TYPE;
20099
20202
  this.builtinContributions = [defaultPolygonBackgroundRenderContribution, defaultPolygonTextureRenderContribution];
20100
- this.init(polygonRenderContribitions);
20203
+ this.init(graphicRenderContributions);
20101
20204
  }
20102
20205
  drawShape(polygon, context, x, y, drawContext, params, fillCb, strokeCb) {
20103
20206
  const polygonAttribute = getTheme(polygon, params === null || params === void 0 ? void 0 : params.theme).polygon;
@@ -20166,6 +20269,10 @@ let DefaultCanvasGroupRender = class DefaultCanvasGroupRender {
20166
20269
  this.groupRenderContribitions = groupRenderContribitions;
20167
20270
  this.numberType = GROUP_NUMBER_TYPE;
20168
20271
  }
20272
+ reInit() {
20273
+ this._groupRenderContribitions = this.groupRenderContribitions.getContributions() || [];
20274
+ this._groupRenderContribitions.push(defaultGroupBackgroundRenderContribution);
20275
+ }
20169
20276
  drawShape(group, context, x, y, drawContext, params, fillCb, strokeCb, groupAttribute) {
20170
20277
  const { clip, fill, stroke, background } = group.attribute;
20171
20278
  if (!(clip || fill || stroke || background)) {
@@ -20265,7 +20372,7 @@ let DefaultCanvasGroupRender = class DefaultCanvasGroupRender {
20265
20372
  });
20266
20373
  }
20267
20374
  draw(group, renderService, drawContext, params) {
20268
- var _a;
20375
+ var _a, _b;
20269
20376
  const { context } = drawContext;
20270
20377
  if (!context) {
20271
20378
  return;
@@ -20276,7 +20383,7 @@ let DefaultCanvasGroupRender = class DefaultCanvasGroupRender {
20276
20383
  if (drawMode > 0) {
20277
20384
  const { x, y, width, height } = group.attribute;
20278
20385
  const canvas = context.canvas;
20279
- const newCanvas = vglobal.createCanvas({ width: canvas.width, height: canvas.height, dpr: 1 });
20386
+ const newCanvas = application.global.createCanvas({ width: canvas.width, height: canvas.height, dpr: 1 });
20280
20387
  const newContext = newCanvas.getContext('2d');
20281
20388
  const transform = context.nativeContext.getTransform();
20282
20389
  newContext.setTransform(transform.a, transform.b, transform.c, transform.d, transform.e, transform.f);
@@ -20333,7 +20440,7 @@ let DefaultCanvasGroupRender = class DefaultCanvasGroupRender {
20333
20440
  }
20334
20441
  let p;
20335
20442
  if (params && params.renderInGroup) {
20336
- p = params.renderInGroup(params.skipDraw, group, drawContext, (_a = params.renderInGroupParams) === null || _a === void 0 ? void 0 : _a.nextM);
20443
+ p = params.renderInGroup((_a = params.renderInGroupParams) === null || _a === void 0 ? void 0 : _a.skipSort, group, drawContext, (_b = params.renderInGroupParams) === null || _b === void 0 ? void 0 : _b.nextM);
20337
20444
  }
20338
20445
  if (context.modelMatrix !== lastModelMatrix) {
20339
20446
  mat4Allocate.free(context.modelMatrix);
@@ -20385,12 +20492,12 @@ DefaultCanvasGroupRender = __decorate([
20385
20492
 
20386
20493
  const repeatStr = ['', 'repeat-x', 'repeat-y', 'repeat'];
20387
20494
  let DefaultCanvasImageRender = class DefaultCanvasImageRender extends BaseRender {
20388
- constructor(imageRenderContribitions) {
20495
+ constructor(graphicRenderContributions) {
20389
20496
  super();
20390
- this.imageRenderContribitions = imageRenderContribitions;
20497
+ this.graphicRenderContributions = graphicRenderContributions;
20391
20498
  this.numberType = IMAGE_NUMBER_TYPE;
20392
20499
  this.builtinContributions = [defaultImageRenderContribution, defaultImageBackgroundRenderContribution];
20393
- this.init(imageRenderContribitions);
20500
+ this.init(graphicRenderContributions);
20394
20501
  }
20395
20502
  drawShape(image, context, x, y, drawContext, params, fillCb, strokeCb) {
20396
20503
  const imageAttribute = getTheme(image).image;
@@ -20726,6 +20833,7 @@ let CommonDrawItemInterceptorContribution = class CommonDrawItemInterceptorContr
20726
20833
  afterDrawItem(graphic, renderService, drawContext, drawContribution, params) {
20727
20834
  if ((!graphic.in3dMode || drawContext.in3dInterceptor) &&
20728
20835
  !graphic.shadowRoot &&
20836
+ !graphic.attribute._debug_bounds &&
20729
20837
  !(graphic.baseGraphic || graphic.attribute.globalZIndex || graphic.interactiveGraphic)) {
20730
20838
  return false;
20731
20839
  }
@@ -20740,6 +20848,7 @@ let CommonDrawItemInterceptorContribution = class CommonDrawItemInterceptorContr
20740
20848
  beforeDrawItem(graphic, renderService, drawContext, drawContribution, params) {
20741
20849
  if ((!graphic.in3dMode || drawContext.in3dInterceptor) &&
20742
20850
  !graphic.shadowRoot &&
20851
+ !graphic.attribute._debug_bounds &&
20743
20852
  !(graphic.baseGraphic || graphic.attribute.globalZIndex || graphic.interactiveGraphic)) {
20744
20853
  return false;
20745
20854
  }
@@ -20935,6 +21044,9 @@ let DefaultRenderService = class DefaultRenderService {
20935
21044
  this.drawContribution.afterDraw && this.drawContribution.afterDraw(this, Object.assign({}, this.drawParams));
20936
21045
  return;
20937
21046
  }
21047
+ reInit() {
21048
+ this.drawContribution.reInit();
21049
+ }
20938
21050
  render(groups, params) {
20939
21051
  this.renderTreeRoots = groups;
20940
21052
  this.drawParams = params;
@@ -21469,6 +21581,12 @@ let DefaultDrawContribution = class DefaultDrawContribution {
21469
21581
  }
21470
21582
  this.init();
21471
21583
  }
21584
+ reInit() {
21585
+ this.init();
21586
+ this.contributions.forEach(item => {
21587
+ item.reInit();
21588
+ });
21589
+ }
21472
21590
  init() {
21473
21591
  this.contributions.forEach(item => {
21474
21592
  if (item.style) {
@@ -23253,6 +23371,10 @@ class Stage extends Group {
23253
23371
  }
23254
23372
  return this.pickerService;
23255
23373
  }
23374
+ reInit() {
23375
+ this.renderService.reInit();
23376
+ this.pickerService.reInit();
23377
+ }
23256
23378
  }
23257
23379
 
23258
23380
  function createStage(params) {
@@ -23526,6 +23648,9 @@ let DefaultPickService = class DefaultPickService {
23526
23648
  this.type = 'default';
23527
23649
  this.global = application.global;
23528
23650
  }
23651
+ reInit() {
23652
+ this._init();
23653
+ }
23529
23654
  _init() {
23530
23655
  this.InterceptorContributions = this.pickItemInterceptorContributions
23531
23656
  .getContributions()
@@ -23703,6 +23828,9 @@ let DefaultGlobalPickerService = class DefaultGlobalPickerService {
23703
23828
  });
23704
23829
  this.configure(this.global, this.global.env);
23705
23830
  }
23831
+ reInit() {
23832
+ return;
23833
+ }
23706
23834
  configure(global, env) {
23707
23835
  }
23708
23836
  pick(graphics, point, params) {
@@ -24284,7 +24412,7 @@ const splitCircle = (arc, count) => {
24284
24412
  return res;
24285
24413
  };
24286
24414
  const samplingPoints = (points, count) => {
24287
- const validatePoints = points.filter(point => point.defined !== false && isNumber(point.x) && isNumber(point.y));
24415
+ const validatePoints = points.filter(point => point.defined !== false && isNumber$1(point.x) && isNumber$1(point.y));
24288
24416
  if (validatePoints.length === 0) {
24289
24417
  return [];
24290
24418
  }
@@ -24338,7 +24466,7 @@ const splitArea = (area, count) => {
24338
24466
  return res.concat((_a = seg.points) !== null && _a !== void 0 ? _a : []);
24339
24467
  }, []);
24340
24468
  }
24341
- const validatePoints = points.filter(point => point.defined !== false && isNumber(point.x) && isNumber(point.y));
24469
+ const validatePoints = points.filter(point => point.defined !== false && isNumber$1(point.x) && isNumber$1(point.y));
24342
24470
  if (!validatePoints.length) {
24343
24471
  return [];
24344
24472
  }
@@ -24494,6 +24622,83 @@ const splitPath = (path, count) => {
24494
24622
  return res;
24495
24623
  };
24496
24624
 
24625
+ function isIdentityMatrix(matrix) {
24626
+ return matrix.a === 1 && matrix.b === 0 && matrix.c === 0 && matrix.d === 1 && matrix.e === 0 && matrix.f === 0;
24627
+ }
24628
+ function createEventTransformer(containerElement, getMatrix, getRect, transformPoint) {
24629
+ return (event) => {
24630
+ if (!(event instanceof MouseEvent) && !(event instanceof TouchEvent) && !(event instanceof PointerEvent)) {
24631
+ return event;
24632
+ }
24633
+ const transformMatrix = getMatrix();
24634
+ if (isIdentityMatrix(transformMatrix)) {
24635
+ return event;
24636
+ }
24637
+ const containerRect = getRect();
24638
+ const transformedEvent = new event.constructor(event.type, event);
24639
+ Object.defineProperties(transformedEvent, {
24640
+ target: { value: event.target },
24641
+ currentTarget: { value: event.currentTarget }
24642
+ });
24643
+ if (event instanceof MouseEvent || event instanceof PointerEvent) {
24644
+ transformPoint(event.clientX, event.clientY, transformMatrix, containerRect, transformedEvent);
24645
+ }
24646
+ else if (event instanceof TouchEvent) {
24647
+ if (event.touches.length > 0) {
24648
+ const touch = transformedEvent.touches[0];
24649
+ transformPoint(touch.clientX, touch.clientY, transformMatrix, containerRect, touch);
24650
+ }
24651
+ if (event.changedTouches.length > 0) {
24652
+ const touch = transformedEvent.changedTouches[0];
24653
+ transformPoint(touch.clientX, touch.clientY, transformMatrix, containerRect, touch);
24654
+ }
24655
+ }
24656
+ return transformedEvent;
24657
+ };
24658
+ }
24659
+ function createCanvasEventTransformer(canvasElement, getMatrix, getRect, transformPoint) {
24660
+ return createEventTransformer(canvasElement.parentElement || canvasElement, getMatrix, getRect, transformPoint);
24661
+ }
24662
+ function registerWindowEventTransformer(window, container, getMatrix, getRect, transformPoint) {
24663
+ const transformer = createEventTransformer(container, getMatrix, getRect, transformPoint);
24664
+ window.setEventListenerTransformer(transformer);
24665
+ }
24666
+ function registerGlobalEventTransformer(global, container, getMatrix, getRect, transformPoint) {
24667
+ const transformer = createEventTransformer(container, getMatrix, getRect, transformPoint);
24668
+ global.setEventListenerTransformer(transformer);
24669
+ }
24670
+ function transformPointForCanvas(clientX, clientY, matrix, rect, transformedEvent) {
24671
+ const transformedPoint = { x: clientX, y: clientY };
24672
+ matrix.transformPoint(transformedPoint, transformedPoint);
24673
+ Object.defineProperties(transformedEvent, {
24674
+ _canvasX: { value: transformedPoint.x },
24675
+ _canvasY: { value: transformedPoint.y }
24676
+ });
24677
+ return;
24678
+ }
24679
+ function mapToCanvasPointForCanvas(nativeEvent) {
24680
+ var _a;
24681
+ if (isNumber(nativeEvent._canvasX) && isNumber(nativeEvent._canvasY)) {
24682
+ return {
24683
+ x: nativeEvent._canvasX,
24684
+ y: nativeEvent._canvasY
24685
+ };
24686
+ }
24687
+ else if (nativeEvent.changedTouches) {
24688
+ const data = (_a = nativeEvent.changedTouches[0]) !== null && _a !== void 0 ? _a : {};
24689
+ return {
24690
+ x: data._canvasX,
24691
+ y: data._canvasY
24692
+ };
24693
+ }
24694
+ const x = nativeEvent._canvasX || 0;
24695
+ const y = nativeEvent._canvasY || 0;
24696
+ return {
24697
+ x,
24698
+ y
24699
+ };
24700
+ }
24701
+
24497
24702
  function getDefaultCharacterConfig(attribute) {
24498
24703
  const { fill = 'black', stroke = false, fontWeight = 'normal', lineHeight, fontFamily = 'Arial', textAlign } = attribute;
24499
24704
  let { fontSize = 12 } = attribute;
@@ -26230,6 +26435,9 @@ let DefaultCanvasGlyphRender = class DefaultCanvasGlyphRender {
26230
26435
  constructor() {
26231
26436
  this.numberType = GLYPH_NUMBER_TYPE;
26232
26437
  }
26438
+ reInit() {
26439
+ return;
26440
+ }
26233
26441
  drawShape(glyph, context, x, y, drawContext, params, fillCb, strokeCb) {
26234
26442
  if (!drawContext.drawContribution) {
26235
26443
  return;
@@ -27690,4 +27898,4 @@ const registerFlexLayoutPlugin = () => {
27690
27898
  Factory.registerPlugin('FlexLayoutPlugin', FlexLayoutPlugin);
27691
27899
  };
27692
27900
 
27693
- export { ARC3D_NUMBER_TYPE, ARC_NUMBER_TYPE, AREA_NUMBER_TYPE, AbstractGraphicRender, AnimateMode, AnimateStatus, AnimateStepType, Application, Arc, Arc3d, Arc3dRender, ArcRender, ArcRenderContribution, Area, AreaRender, AreaRenderContribution, AttributeUpdateType, AutoEnablePlugins, BaseCanvas, BaseEnvContribution, BaseRender, BaseRenderContributionTime, BaseWindowHandlerContribution, Basis, BeforeRenderConstribution, BoundsContext, BoundsPicker, CIRCLE_NUMBER_TYPE, Canvas3DDrawItemInterceptor, Canvas3DPickItemInterceptor, CanvasFactory, CanvasTextLayout, Circle, CircleRender, CircleRenderContribution, ColorInterpolate, ColorStore, ColorType, CommonDrawItemInterceptorContribution, CommonRenderContribution, Container, ContainerModule, Context2dFactory, ContributionProvider, CubicBezierCurve, CurveContext, CurveTypeEnum, CustomEvent, CustomPath2D, CustomSymbolClass, DEFAULT_TEXT_FONT_FAMILY, DebugDrawItemInterceptorContribution, DefaultArcAllocate, DefaultArcAttribute, DefaultArcRenderContribution, DefaultAreaAllocate, DefaultAreaAttribute, DefaultAreaTextureRenderContribution, DefaultAttribute, DefaultBaseBackgroundRenderContribution, DefaultBaseClipRenderAfterContribution, DefaultBaseClipRenderBeforeContribution, DefaultBaseInteractiveRenderContribution, DefaultBaseTextureRenderContribution, DefaultCanvasAllocate, DefaultCanvasArcRender, DefaultCanvasAreaRender, DefaultCanvasCircleRender, DefaultCanvasGroupRender, DefaultCanvasImageRender, DefaultCanvasLineRender, DefaultCanvasPathRender, DefaultCanvasPolygonRender, DefaultCanvasRectRender, DefaultCanvasSymbolRender, DefaultCanvasTextRender, DefaultCircleAllocate, DefaultCircleAttribute, DefaultCircleRenderContribution, DefaultConnectAttribute, DefaultDebugAttribute, DefaultFillStyle, DefaultGlobal, DefaultGlobalPickerService, DefaultGlyphAttribute, DefaultGraphicAllocate, DefaultGraphicMemoryManager, DefaultGraphicService, DefaultGraphicUtil, DefaultGroupAttribute, DefaultGroupBackgroundRenderContribution, DefaultImageAttribute, DefaultImageRenderContribution, DefaultLayerService, DefaultLayout, DefaultLineAllocate, DefaultLineAttribute, DefaultMat4Allocate, DefaultMatrixAllocate, DefaultPathAllocate, DefaultPathAttribute, DefaultPickService, DefaultPickStyle, DefaultPolygonAttribute, DefaultRect3dAttribute, DefaultRectAllocate, DefaultRectAttribute, DefaultRectRenderContribution, DefaultRenderService, DefaultRichTextAttribute, DefaultRichTextIconAttribute, DefaultStarAttribute, DefaultStrokeStyle, DefaultStyle, DefaultSymbolAllocate, DefaultSymbolAttribute, DefaultSymbolClipRangeStrokeRenderContribution, DefaultSymbolRenderContribution, DefaultTextAllocate, DefaultTextAttribute, DefaultTextMeasureContribution, DefaultTextStyle, DefaultTransform, DefaultTransformUtil, DefaultWindow, Direction, DirectionalLight, DrawContribution, DrawItemInterceptor, DynamicLayerHandlerContribution, Edge, EditModule, EmptyContext2d, EnvContribution, EventManager, EventSystem, EventTarget, FORMAT_ALL_TEXT_COMMAND, FORMAT_ELEMENT_COMMAND, FORMAT_TEXT_COMMAND, Factory, FederatedEvent, FederatedMouseEvent, FederatedPointerEvent, FederatedWheelEvent, FlexLayoutPlugin, GLYPH_NUMBER_TYPE, GRAPHIC_UPDATE_TAG_KEY, GROUP_NUMBER_TYPE, Generator, GlobalPickerService, Glyph, GlyphRender, Graphic, GraphicCreator$1 as GraphicCreator, GraphicPicker, GraphicRender, GraphicService, GraphicUtil, Group, GroupRender, GroupRenderContribution, GroupUpdateAABBBoundsMode, HtmlAttributePlugin, IContainPointMode, IMAGE_NUMBER_TYPE, Image, ImageRender, ImageRenderContribution, IncrementalDrawContribution, InteractiveDrawItemInterceptorContribution, InteractivePickItemInterceptorContribution, InteractiveSubRenderContribution, LINE_NUMBER_TYPE, Layer, LayerService, Line$1 as Line, LineRender, Linear, LinearClosed, Mat4Allocate, MatrixAllocate, MeasureModeEnum, MonotoneX, MonotoneY, NOWORK_ANIMATE_ATTR, Node, OrthoCamera, PATH_NUMBER_TYPE, POLYGON_NUMBER_TYPE, PURE_STYLE_KEY, PYRAMID3D_NUMBER_TYPE, Path, PathRender, PathRenderContribution, PerformanceRAF, PickItemInterceptor, PickServiceInterceptor, PickerService, PluginService, Polygon, PolygonRender, PolygonRenderContribution, Pyramid3d, Pyramid3dRender, RECT3D_NUMBER_TYPE, RECT_NUMBER_TYPE, RICHTEXT_NUMBER_TYPE, RafBasedSTO, ReactAttributePlugin, Rect, Rect3DRender, Rect3d, RectRender, RectRenderContribution, ReflectSegContext, RenderSelector, RenderService, ResourceLoader, RichText, RichTextEditPlugin, RichTextRender, STAR_NUMBER_TYPE, STATUS$1 as STATUS, SVG_ATTRIBUTE_MAP, SVG_ATTRIBUTE_MAP_KEYS, SVG_PARSE_ATTRIBUTE_MAP, SVG_PARSE_ATTRIBUTE_MAP_KEYS, SYMBOL_NUMBER_TYPE, SegContext, ShadowPickServiceInterceptorContribution, ShadowRoot, ShadowRootDrawItemInterceptorContribution, ShadowRootPickItemInterceptorContribution, SplitRectAfterRenderContribution, SplitRectBeforeRenderContribution, Stage, Star, StarRender, StarRenderContribution, StaticLayerHandlerContribution, Step, StepClosed, Symbol$1 as Symbol, SymbolRender, SymbolRenderContribution, TEXT_NUMBER_TYPE, Text, TextDirection, TextMeasureContribution, TextRender, TextRenderContribution, Theme, TransformUtil, UpdateTag, VGlobal, VWindow, ViewTransform3dPlugin, VirtualLayerHandlerContribution, WILDCARD, WindowHandlerContribution, WrapText, XMLParser, _calculateLineHeight, _interpolateColor, addArcToBezierPath, addAttributeToPrototype, alignBezierCurves, alignSubpath, application, applyTransformOnBezierCurves, arc3dModule, arcModule, areaModule, bezier, bezierCurversToPath, binarySplitPolygon, bindContributionProvider, bindContributionProviderNoSingletonScope, boundStroke, builtInSymbolStrMap, builtinSymbols, builtinSymbolsMap, calcLineCache, calculateArcCornerRadius, calculateLineHeight, canvasAllocate, centroidOfSubpath, circleBounds, circleModule, clock, colorEqual, colorStringInterpolationToStr, container, cornerTangents, createArc, createArc3d, createArea, createCircle, createColor, createConicalGradient, createGlyph, createGroup, createImage, createLine, createMat4, createPath, createPolygon, createPyramid3d, createRect, createRect3d, createRectPath, createRichText, createShadowRoot, createStage, createStar, createSymbol, createText, createWrapText, cubicCalc, cubicLength, cubicPointAt, cubicSubdivide, defaultArcAllocate, defaultArcBackgroundRenderContribution, defaultArcRenderContribution, defaultArcTextureRenderContribution, defaultAreaAllocate, defaultBaseBackgroundRenderContribution, defaultBaseClipRenderAfterContribution, defaultBaseClipRenderBeforeContribution, defaultBaseTextureRenderContribution, defaultCircleAllocate, defaultCircleBackgroundRenderContribution, defaultCircleRenderContribution, defaultCircleTextureRenderContribution, defaultGraphicMemoryManager, defaultGroupBackgroundRenderContribution, defaultImageBackgroundRenderContribution, defaultImageRenderContribution, defaultLineAllocate, defaultPathAllocate, defaultRectAllocate, defaultRectBackgroundRenderContribution, defaultRectRenderContribution, defaultRectTextureRenderContribution, defaultStarBackgroundRenderContribution, defaultStarTextureRenderContribution, defaultSymbolAllocate, defaultSymbolBackgroundRenderContribution, defaultSymbolClipRangeStrokeRenderContribution, defaultSymbolRenderContribution, defaultSymbolTextureRenderContribution, defaultTextAllocate, diff, divideCubic, divideQuad, drawArc, drawArcPath$1 as drawArcPath, drawAreaSegments, drawIncrementalAreaSegments, drawIncrementalSegments, drawSegments, enumCommandMap, fillVisible, findBestMorphingRotation, findConfigIndexByCursorIdx, findCursorIdxByConfigIndex, findNextGraphic, flatten_simplify, foreach, foreachAsync, genBasisSegments, genBasisTypeSegments, genLinearClosedSegments, genLinearClosedTypeSegments, genLinearSegments, genLinearTypeSegments, genMonotoneXSegments, genMonotoneXTypeSegments, genMonotoneYSegments, genMonotoneYTypeSegments, genNumberType, genStepClosedSegments, genStepSegments, genStepTypeSegments, getAttributeFromDefaultAttrList, getConicGradientAt, getCurrentEnv, getDefaultCharacterConfig, getExtraModelMatrix, getModelMatrix, getRichTextBounds, getScaledStroke, getTextBounds, getTheme, getThemeFromGroup, globalTheme, glyphModule, graphicCreator, graphicService, graphicUtil, identityMat4, imageModule, incrementalAddTo, inject, injectable, interpolateColor, interpolateGradientConicalColor, interpolateGradientLinearColor, interpolateGradientRadialColor, interpolatePureColorArray, interpolatePureColorArrayToStr, intersect, isBrowserEnv, isNodeEnv, isSvg, isXML, layerService, lineModule, lookAt, mat3Tomat4, mat4Allocate, matrixAllocate, multiInject, multiplyMat4Mat3, multiplyMat4Mat4, named, newThemeObj, ortho, parsePadding, parseStroke, parseSvgPath, pathModule, pathToBezierCurves, point$3 as point, pointEqual, pointInterpolation, pointInterpolationHighPerformance, pointsEqual, pointsInterpolation, polygonModule, preLoadAllModule, pyramid3dModule, quadCalc, quadLength, quadPointAt, rafBasedSto, rect3dModule, rectFillVisible, rectModule, rectStrokeVisible, recursiveCallBinarySplit, registerArc3dGraphic, registerArcGraphic, registerAreaGraphic, registerCircleGraphic, registerDirectionalLight, registerFlexLayoutPlugin, registerGlyphGraphic, registerGroupGraphic, registerHtmlAttributePlugin, registerImageGraphic, registerLineGraphic, registerOrthoCamera, registerPathGraphic, registerPolygonGraphic, registerPyramid3dGraphic, registerReactAttributePlugin, registerRect3dGraphic, registerRectGraphic, registerRichtextGraphic, registerShadowRootGraphic, registerStarGraphic, registerSymbolGraphic, registerTextGraphic, registerViewTransform3dPlugin, registerWrapTextGraphic, renderCommandList, renderService, rewriteProto, richtextModule, rotateX, rotateY, rotateZ, runFill, runStroke, scaleMat4, segments, shouldUseMat4, snapLength, splitArc, splitArea, splitCircle, splitLine, splitPath, splitPolygon, splitRect, splitToGrids, starModule, strCommandMap, strokeVisible, symbolModule, textAttributesToStyle, textDrawOffsetX, textDrawOffsetY, textLayoutOffsetY, textModule, transformMat4, transformUtil, translate, verticalLayout, vglobal, waitForAllSubLayers, wrapCanvas, wrapContext, xul };
27901
+ export { ARC3D_NUMBER_TYPE, ARC_NUMBER_TYPE, AREA_NUMBER_TYPE, AbstractGraphicRender, AnimateMode, AnimateStatus, AnimateStepType, Application, Arc, Arc3d, Arc3dRender, ArcRender, ArcRenderContribution, Area, AreaRender, AreaRenderContribution, AttributeUpdateType, AutoEnablePlugins, BaseCanvas, BaseEnvContribution, BaseRender, BaseRenderContributionTime, BaseWindowHandlerContribution, Basis, BeforeRenderConstribution, BoundsContext, BoundsPicker, CIRCLE_NUMBER_TYPE, Canvas3DDrawItemInterceptor, Canvas3DPickItemInterceptor, CanvasFactory, CanvasTextLayout, Circle, CircleRender, CircleRenderContribution, ColorInterpolate, ColorStore, ColorType, CommonDrawItemInterceptorContribution, CommonRenderContribution, Container, ContainerModule, Context2dFactory, ContributionProvider, ContributionStore, CubicBezierCurve, CurveContext, CurveTypeEnum, CustomEvent, CustomPath2D, CustomSymbolClass, DEFAULT_TEXT_FONT_FAMILY, DebugDrawItemInterceptorContribution, DefaultArcAllocate, DefaultArcAttribute, DefaultArcRenderContribution, DefaultAreaAllocate, DefaultAreaAttribute, DefaultAreaTextureRenderContribution, DefaultAttribute, DefaultBaseBackgroundRenderContribution, DefaultBaseClipRenderAfterContribution, DefaultBaseClipRenderBeforeContribution, DefaultBaseInteractiveRenderContribution, DefaultBaseTextureRenderContribution, DefaultCanvasAllocate, DefaultCanvasArcRender, DefaultCanvasAreaRender, DefaultCanvasCircleRender, DefaultCanvasGroupRender, DefaultCanvasImageRender, DefaultCanvasLineRender, DefaultCanvasPathRender, DefaultCanvasPolygonRender, DefaultCanvasRectRender, DefaultCanvasSymbolRender, DefaultCanvasTextRender, DefaultCircleAllocate, DefaultCircleAttribute, DefaultCircleRenderContribution, DefaultConnectAttribute, DefaultDebugAttribute, DefaultFillStyle, DefaultGlobal, DefaultGlobalPickerService, DefaultGlyphAttribute, DefaultGraphicAllocate, DefaultGraphicMemoryManager, DefaultGraphicService, DefaultGraphicUtil, DefaultGroupAttribute, DefaultGroupBackgroundRenderContribution, DefaultImageAttribute, DefaultImageRenderContribution, DefaultLayerService, DefaultLayout, DefaultLineAllocate, DefaultLineAttribute, DefaultMat4Allocate, DefaultMatrixAllocate, DefaultPathAllocate, DefaultPathAttribute, DefaultPickService, DefaultPickStyle, DefaultPolygonAttribute, DefaultRect3dAttribute, DefaultRectAllocate, DefaultRectAttribute, DefaultRectRenderContribution, DefaultRenderService, DefaultRichTextAttribute, DefaultRichTextIconAttribute, DefaultStarAttribute, DefaultStrokeStyle, DefaultStyle, DefaultSymbolAllocate, DefaultSymbolAttribute, DefaultSymbolClipRangeStrokeRenderContribution, DefaultSymbolRenderContribution, DefaultTextAllocate, DefaultTextAttribute, DefaultTextMeasureContribution, DefaultTextStyle, DefaultTransform, DefaultTransformUtil, DefaultWindow, Direction, DirectionalLight, DrawContribution, DrawItemInterceptor, DynamicLayerHandlerContribution, Edge, EditModule, EmptyContext2d, EnvContribution, EventManager, EventSystem, EventTarget, FORMAT_ALL_TEXT_COMMAND, FORMAT_ELEMENT_COMMAND, FORMAT_TEXT_COMMAND, Factory, FederatedEvent, FederatedMouseEvent, FederatedPointerEvent, FederatedWheelEvent, FlexLayoutPlugin, GLYPH_NUMBER_TYPE, GRAPHIC_UPDATE_TAG_KEY, GROUP_NUMBER_TYPE, Generator, GlobalPickerService, Glyph, GlyphRender, Graphic, GraphicCreator$1 as GraphicCreator, GraphicPicker, GraphicRender, GraphicService, GraphicUtil, Group, GroupRender, GroupRenderContribution, GroupUpdateAABBBoundsMode, HtmlAttributePlugin, IContainPointMode, IMAGE_NUMBER_TYPE, Image, ImageRender, ImageRenderContribution, IncrementalDrawContribution, InteractiveDrawItemInterceptorContribution, InteractivePickItemInterceptorContribution, InteractiveSubRenderContribution, LINE_NUMBER_TYPE, Layer, LayerService, Line$1 as Line, LineRender, Linear, LinearClosed, Mat4Allocate, MatrixAllocate, MeasureModeEnum, MonotoneX, MonotoneY, NOWORK_ANIMATE_ATTR, Node, OrthoCamera, PATH_NUMBER_TYPE, POLYGON_NUMBER_TYPE, PURE_STYLE_KEY, PYRAMID3D_NUMBER_TYPE, Path, PathRender, PathRenderContribution, PerformanceRAF, PickItemInterceptor, PickServiceInterceptor, PickerService, PluginService, Polygon, PolygonRender, PolygonRenderContribution, Pyramid3d, Pyramid3dRender, RECT3D_NUMBER_TYPE, RECT_NUMBER_TYPE, RICHTEXT_NUMBER_TYPE, RafBasedSTO, ReactAttributePlugin, Rect, Rect3DRender, Rect3d, RectRender, RectRenderContribution, ReflectSegContext, RenderSelector, RenderService, ResourceLoader, RichText, RichTextEditPlugin, RichTextRender, STAR_NUMBER_TYPE, STATUS$1 as STATUS, SVG_ATTRIBUTE_MAP, SVG_ATTRIBUTE_MAP_KEYS, SVG_PARSE_ATTRIBUTE_MAP, SVG_PARSE_ATTRIBUTE_MAP_KEYS, SYMBOL_NUMBER_TYPE, SegContext, ShadowPickServiceInterceptorContribution, ShadowRoot, ShadowRootDrawItemInterceptorContribution, ShadowRootPickItemInterceptorContribution, SplitRectAfterRenderContribution, SplitRectBeforeRenderContribution, Stage, Star, StarRender, StarRenderContribution, StaticLayerHandlerContribution, Step, StepClosed, Symbol$1 as Symbol, SymbolRender, SymbolRenderContribution, TEXT_NUMBER_TYPE, Text, TextDirection, TextMeasureContribution, TextRender, TextRenderContribution, Theme, TransformUtil, UpdateTag, VGlobal, VWindow, ViewTransform3dPlugin, VirtualLayerHandlerContribution, WILDCARD, WindowHandlerContribution, WrapText, XMLParser, _calculateLineHeight, _interpolateColor, addArcToBezierPath, addAttributeToPrototype, alignBezierCurves, alignSubpath, application, applyTransformOnBezierCurves, arc3dModule, arcModule, areaModule, bezier, bezierCurversToPath, binarySplitPolygon, bindContributionProvider, bindContributionProviderNoSingletonScope, boundStroke, builtInSymbolStrMap, builtinSymbols, builtinSymbolsMap, calcLineCache, calculateArcCornerRadius, calculateLineHeight, canvasAllocate, centroidOfSubpath, circleBounds, circleModule, clock, colorEqual, colorStringInterpolationToStr, container, cornerTangents, createArc, createArc3d, createArea, createCanvasEventTransformer, createCircle, createColor, createConicalGradient, createEventTransformer, createGlyph, createGroup, createImage, createLine, createMat4, createPath, createPolygon, createPyramid3d, createRect, createRect3d, createRectPath, createRichText, createShadowRoot, createStage, createStar, createSymbol, createText, createWrapText, cubicCalc, cubicLength, cubicPointAt, cubicSubdivide, defaultArcAllocate, defaultArcBackgroundRenderContribution, defaultArcRenderContribution, defaultArcTextureRenderContribution, defaultAreaAllocate, defaultBaseBackgroundRenderContribution, defaultBaseClipRenderAfterContribution, defaultBaseClipRenderBeforeContribution, defaultBaseTextureRenderContribution, defaultCircleAllocate, defaultCircleBackgroundRenderContribution, defaultCircleRenderContribution, defaultCircleTextureRenderContribution, defaultGraphicMemoryManager, defaultGroupBackgroundRenderContribution, defaultImageBackgroundRenderContribution, defaultImageRenderContribution, defaultLineAllocate, defaultPathAllocate, defaultRectAllocate, defaultRectBackgroundRenderContribution, defaultRectRenderContribution, defaultRectTextureRenderContribution, defaultStarBackgroundRenderContribution, defaultStarTextureRenderContribution, defaultSymbolAllocate, defaultSymbolBackgroundRenderContribution, defaultSymbolClipRangeStrokeRenderContribution, defaultSymbolRenderContribution, defaultSymbolTextureRenderContribution, defaultTextAllocate, diff, divideCubic, drawArc, drawArcPath$1 as drawArcPath, drawAreaSegments, drawIncrementalAreaSegments, drawIncrementalSegments, drawSegments, enumCommandMap, fillVisible, findBestMorphingRotation, findConfigIndexByCursorIdx, findCursorIdxByConfigIndex, findNextGraphic, flatten_simplify, foreach, foreachAsync, genBasisSegments, genBasisTypeSegments, genLinearClosedSegments, genLinearClosedTypeSegments, genLinearSegments, genLinearTypeSegments, genMonotoneXSegments, genMonotoneXTypeSegments, genMonotoneYSegments, genMonotoneYTypeSegments, genNumberType, genStepClosedSegments, genStepSegments, genStepTypeSegments, getAttributeFromDefaultAttrList, getConicGradientAt, getCurrentEnv, getDefaultCharacterConfig, getExtraModelMatrix, getModelMatrix, getRichTextBounds, getScaledStroke, getTextBounds, getTheme, getThemeFromGroup, globalTheme, glyphModule, graphicCreator, graphicService, graphicUtil, identityMat4, imageModule, incrementalAddTo, inject, injectable, interpolateColor, interpolateGradientConicalColor, interpolateGradientLinearColor, interpolateGradientRadialColor, interpolatePureColorArray, interpolatePureColorArrayToStr, intersect, isBrowserEnv, isNodeEnv, isSvg, isXML, layerService, lineModule, lookAt, mapToCanvasPointForCanvas, mat3Tomat4, mat4Allocate, matrixAllocate, multiInject, multiplyMat4Mat3, multiplyMat4Mat4, named, newThemeObj, ortho, parsePadding, parseStroke, parseSvgPath, pathModule, pathToBezierCurves, point$3 as point, pointEqual, pointInterpolation, pointInterpolationHighPerformance, pointsEqual, pointsInterpolation, polygonModule, preLoadAllModule, pyramid3dModule, quadCalc, quadLength, quadPointAt, rafBasedSto, rect3dModule, rectFillVisible, rectModule, rectStrokeVisible, recursiveCallBinarySplit, registerArc3dGraphic, registerArcGraphic, registerAreaGraphic, registerCircleGraphic, registerDirectionalLight, registerFlexLayoutPlugin, registerGlobalEventTransformer, registerGlyphGraphic, registerGroupGraphic, registerHtmlAttributePlugin, registerImageGraphic, registerLineGraphic, registerOrthoCamera, registerPathGraphic, registerPolygonGraphic, registerPyramid3dGraphic, registerReactAttributePlugin, registerRect3dGraphic, registerRectGraphic, registerRichtextGraphic, registerShadowRootGraphic, registerStarGraphic, registerSymbolGraphic, registerTextGraphic, registerViewTransform3dPlugin, registerWindowEventTransformer, registerWrapTextGraphic, renderCommandList, renderService, rewriteProto, richtextModule, rotateX, rotateY, rotateZ, runFill, runStroke, scaleMat4, segments, shouldUseMat4, snapLength, splitArc, splitArea, splitCircle, splitLine, splitPath, splitPolygon, splitRect, splitToGrids, starModule, strCommandMap, strokeVisible, symbolModule, textAttributesToStyle, textDrawOffsetX, textDrawOffsetY, textLayoutOffsetY, textModule, transformMat4, transformPointForCanvas, transformUtil, translate, verticalLayout, vglobal, waitForAllSubLayers, wrapCanvas, wrapContext, xul };